小编Vik*_*jan的帖子

Hadoop NameNode从元数据备份中恢复

我正在尝试NN元数据恢复.我已经备份了Namenode和Journal节点元数据.它包含编辑日志和fsimages.

我的系统中有两个NN.我以常规频率备份两个NN(hdfs元数据和QJM元数据)上的元数据.我想在最坏的情况下测试恢复过程.假设NN和Journal节点都已关闭,元数据已完全删除.

我想从备份中恢复NN元数据并启动NN.我知道可能会有数据丢失,因为备份后的最新更改将会丢失.

问题:

  1. 你认为这种情况是可行/可行的吗?
  2. 我面临一些与txn id不匹配,提交txn id相关的问题.请告诉我们是否有相同的解决方案.

试过的步骤:

  1. 获取NN和QJM的元数据备份.做一些hdfs文件操作(创建新文件).
  2. 在两台计算机上停止NN和Journal节点.
  3. 从/ data/hdfs和journal目录中删除元数据.
  4. 从备份恢复Fsimages(花一些时间).
  5. 启动NN.它失败并出现以下异常.

替代方法:将所有编辑日志和fsimage恢复到hdfs和qjm目录并启动NN但仍然失败.

NN都失败了,我无法提起.我不想格式化hdfs,因为它会更改群集ID,备份将无法使用.

例外情况:

  1. 编辑日志中似乎存在间隙.我们预计txid为71453,但得到的是71466
  2. 客户端尝试将提交的txid从71599向后移动到71453
  3. 对于所需的日记,recoverUnfinalizedSegments失败.决定将日志同步到startTxId:71453但记录器10.204.64.26:8485已经看到txid 71599已提交

hadoop

7
推荐指数
1
解决办法
4646
查看次数

标签 统计

hadoop ×1