HDFS HA 场景下NameNode journalnode数据损坏以及故障恢复

项目场景:

HDFS HA 场景下NameNode journalnode数据目录损坏以及故障恢复

问题描述:

一套开源的测试集群由于journalnode目录配置错误,导致所有的3个journalnode节点数据目录丢失,启动后hdfs集群进入不可用的状态,3个namenode无法升主,且启动后一段时间会挂掉

在修复过程种,将集群1个namenode节点格式化,有时候要根据网上的正确的来,好多都是教报错的怎么格式化namenode,那样数据不都丢失了吗?


原因分析:

3个journalnode故障且数据丢失,导致namenode不能升主,总共3个namenode以及格式化了一个,也就是还有两个namenode目录中有元数据信息。


解决方案:

好记性不如烂笔头…,当时修复完处理别的问题了,没有记录,现在是真的想不起多少…

总体思路就是如何将两个namenode中的数据复制到journalnode中并恢复jn,在恢复另一个被格式化的namenode。

记得的坑位:
1、被格式化的那个namenode,格式化后这个namenode的version跟其他两个namenode会变得不一致,要改成一致的否则不能修复

大体处理步骤:
1、修改jn的目录配置改成正确的,防止目录丢失
2、执行命令初始化jn :
hdfs namenode -initializeSharedEdits
3、将namenode中的editslog相关文件传到上述步骤设置的目录中
4、启动3个jn,此时3个jn会自动同步文件
5、修改被格式化过namenode的version与其他namenode一致
6、将其他节点的namenode的fsimage和edislog复制到格式化过的namenode中,并启动所有namenode

7、中间可能会有一些报错,在nn恢复的过程中,由于复制的fsimage的txid不同,可能导致报错,要复制最新的也就是之前故障前active状态的nn下的fsimage,可以根据fsimage文件来判断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值