[HADOOP] Standby NN没法启动

博客原文:hackershelljava

前段时间,standby的NN挂掉了,而且怎么起也起不来,以下日志:node

2016-01-03 14:04:19,293 FATAL org.apache.hadoop.hdfs.server.namenode.ha.EditLogTailer: Unknown error encountered while tailing edits. Shutting down standby NN.
java.io.IOException: Failed to apply edit log operation ReassignLeaseOp [leaseHolder=DFSClient_NONMAPREDUCE_854707399_1, path=/tmp/jrdw/kafka2hdfs/log_mobile_gateway-21-1443245603647--6536501137915724876, newHolde
r=HDFS_NameNode, opCode=OP_REASSIGN_LEASE, txid=20790808505]: error File is not under construction: /tmp/jrdw/kafka2hdfs/log_mobile_gateway-21-1443245603647--6536501137915724876
       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:112)
       at org.apache.hadoop.hdfs.server.namenode.FSImage.loadEdits(FSImage.java:771)
       at org.apache.hadoop.hdfs.server.namenode.ha.EditLogTailer.doTailEdits(EditLogTailer.java:227)
       at org.apache.hadoop.hdfs.server.namenode.ha.EditLogTailer$EditLogTailerThread.doWork(EditLogTailer.java:321)
       at org.apache.hadoop.hdfs.server.namenode.ha.EditLogTailer$EditLogTailerThread.access$200(EditLogTailer.java:279)
       at org.apache.hadoop.hdfs.server.namenode.ha.EditLogTailer$EditLogTailerThread$1.run(EditLogTailer.java:296)
       at org.apache.hadoop.security.SecurityUtil.doAsLoginUserOrFatal(SecurityUtil.java:456)
       at org.apache.hadoop.hdfs.server.namenode.ha.EditLogTailer$EditLogTailerThread.run(EditLogTailer.java:292)

刚开始怀疑是否是editlog的下载有问题,后来发现editlog是能够解析出来的,可是不排除editlog的顺序存在bugshell

咱们采起的方案是:apache

由于每次启动都须要加载editlog,因此为了跳过此操做,咱们将Active进入安全模式,并进行saveNameSpace将dump出来的fsimage和txid拷贝到Standby NN上,重启就能够避免加载editlog了。安全

若是两个NN都挂掉了,那就要作相对麻烦的操做了,并且相对对数据不安全app

如下是参考案例:oop

Namenode异常中止后没法正常启动日志

相关文章
相关标签/搜索