首页 > 解决方案 > 具有活动备用名称节点的hadoop集群+编辑日志中的间隙

问题描述

我们有ambari集群,HDP版本2.6.5

集群包括两个名称节点的管理(一个是活动的,一个是备用的)

和 65 台数据节点机器

我们对未启动的备用名称节点有问题,从名称节点日志中我们可以看到以下内容

2021-01-01 15:19:43,269 ERROR namenode.NameNode (NameNode.java:main(1783)) - Failed to start namenode.
java.io.IOException: There appears to be a gap in the edit log.  We expected txid 90247527115, but got txid 90247903412.
        at org.apache.hadoop.hdfs.server.namenode.MetaRecoveryContext.editLogLoaderPrompt(MetaRecoveryContext.java:94)
        at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadEditRecords(FSEditLogLoader.java:215)
        at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadFSEdits(FSEditLogLoader.java:143)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.loadEdits(FSImage.java:838)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:693)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:289)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1073)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:723)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:697)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:761)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:1001)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:985)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1710)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1778)

目前活动的名称节点已启动,但备用名称节点已关闭

在此处输入图像描述

关于

java.io.IOException: There appears to be a gap in the edit log.  We expected txid 90247527115, but got txid 90247903412.

解决此问题的首选解决方案是什么?

标签: hadoophdfshdpnamenode

解决方案


这有很多原因,但是,请查看这篇文章,这应该会有所帮助。

按照文章中提到的确切顺序执行确切步骤。

简而言之,错误意味着namenode matadata is损坏/损坏


推荐阅读