断电后HDFS服务启动失败的修复办法

  无法启动, 服务异常
内容纲要

概要描述


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角色的元数据已损坏,需要进行修复。

可以参考如下步骤修复元数据:

  1. 使用root用户访问到HDFS的NameNode角色所在节点;

  2. 若集群开启了Guardian安全,则需要kinit hdfs:kinit hdfs/$(hostname) -kt /etc/hdfs1/hdfs.keytab
    //未开启安全的集群,忽略此步骤。

  3. ,执行命令hadoop namenode -recover

    $ hadoop namenode -recover
  4. 选择c继续修复;

  5. 元数据修复成功;

  6. 再次尝试启动HDFS服务,NameNode启动正常,HFDS服务启动成功。

其他信息


机房断电导致的HDFS服务异常,可能有很多种原因。

本KB中修复方法,只针对报错日志匹配的异常情况,如果操作过程中遇到其他和文中不一致的问题或情况,可以 联系售后技术支持中心 寻求帮助。

这篇文章对您有帮助吗?

平均评分 5 / 5. 次数: 2

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。