namenode无法启动

本文记录了一个Hadoop集群中主节点Namenode无法启动的问题排查过程及解决方案。错误日志显示存在编辑日志间隙问题,通过检查并删除相关文件后,使用特定命令重新初始化Namenode。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

玩得真心累。。。刚刚解决了上个问题,结果又出现这个问题





主节点上得namenode无法启动,从节点正常

错误日志:

2015-09-21 17:38:58,754 WARN org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Encountered exception loading fsimage
java.io.IOException: There appears to be a gap in the edit log.  We expected txid 1, but got txid 686.
        at org.apache.hadoop.hdfs.server.namenode.MetaRecoveryContext.editLogLoaderPrompt(MetaRecoveryContext.java:94)
        at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadEditRecords(FSEditLogLoader.java:205)
        at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadFSEdits(FSEditLogLoader.java:133)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.loadEdits(FSImage.java:805)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:665)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:272)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:891)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:638)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:503)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:559)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:724)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:708)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1358)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1424)
2015-09-21 17:38:58,771 INFO org.mortbay.log: Stopped SelectChannelConnector@0.0.0.0:50070
2015-09-21 17:38:58,774 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Stopping NameNode metrics system...
2015-09-21 17:38:58,775 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NameNode metrics system stopped.
2015-09-21 17:38:58,775 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NameNode metrics system shutdown complete.
2015-09-21 17:38:58,775 FATAL org.apache.hadoop.hdfs.server.namenode.NameNode: Exception in namenode join
java.io.IOException: There appears to be a gap in the edit log.  We expected txid 1, but got txid 686.
        at org.apache.hadoop.hdfs.server.namenode.MetaRecoveryContext.editLogLoaderPrompt(MetaRecoveryContext.java:94)
        at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadEditRecords(FSEditLogLoader.java:205)
        at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadFSEdits(FSEditLogLoader.java:133)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.loadEdits(FSImage.java:805)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.loadFSImage(FSImage.java:665)
        at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:272)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:891)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:638)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:503)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:559)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:724)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:708)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1358)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1424)
2015-09-21 17:38:58,777 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1
2015-09-21 17:38:58,779 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at msg-01
************************************************************/

可以看到出错得地方是 We expected txid 1, but got txid 686.

去该目录下找没有发现edits_00....1

删除该目录下文件

重新格式

如果是首次启动,在namenode1上运行format命令

bin/hadoop namenode -format

如果是非首次启动,则在namenode1上运行以下命令

bin/hdfs namenode  -initializeSharedEdits

如果有是否ReFormat,选择 Y


启动后正常,但是发现节点又出问题了,见下章


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值