内容纲要
概要描述
TDH 集群断电后,有可能会导致HDFS服务的NameNode角色无法启动,NameNode日志报错如下:
java.io.IOException: There appears to be a gap in the edit log. We expected txid xxx, but got txid yyy.
//xxx & yyy为ID,例如 We expected txid 32382052, but got txid 32453703.
详细说明
上述错误日志一般表示该节点NameNode角色的元数据已损坏,需要进行修复。
可以参考如下步骤修复元数据:
-
使用root用户访问到HDFS的NameNode角色所在节点;
-
若集群开启了Guardian安全,则需要kinit hdfs:
kinit hdfs/$(hostname) -kt /etc/hdfs1/hdfs.keytab
//未开启安全的集群,忽略此步骤。 -
,执行命令
hadoop namenode -recover
$ hadoop namenode -recover
-
选择
c
继续修复;
-
元数据修复成功;
-
再次尝试启动HDFS服务,NameNode启动正常,HFDS服务启动成功。
其他信息
机房断电导致的HDFS服务异常,可能有很多种原因。
本KB中修复方法,只针对报错日志匹配的异常情况,如果操作过程中遇到其他和文中不一致的问题或情况,可以 联系售后技术支持中心 寻求帮助。