CDH重启换了Namenode节点后,提示Encountered exception loading fsimage

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CDH重启换了Namenode节点后,提示Encountered exception loading fsimage相关的知识,希望对你有一定的参考价值。

CDH重启换了Namenode节点后,提示Encountered

  
报错代码如下:
Encountered exception loading fsimage
java.io.IOException: NameNode is not formatted.
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:237)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1084)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:709)
at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:665)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:727)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:950)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:929)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1653)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1720)

解决方案:

1.各种goole和百度要求格式化

hadoop namenode -format

2.我这生产环境能动不动就格式化吗?

解决思路

根据提示说是无法load fsimage

于是寻找fsimage所在的位置也就是edits 所在的位置

看到/dfs/nn 目录下只有一个root权限的current.bak 说明系统将current目录给重命名了。

因为我的NN是HA。所以可以把current目录拷贝过来。(不能把currtne.bak名称改过去是因为数据已经发生变更)

1、联系各组负责人需要对hadoop集群进行修复,暂停使用查询或其他操作
2、关闭整个集群,确认服务均已关闭
3、拷贝current数据至故障NN
[root@gw02 nn]# scp -r current/ root@gw03:/dfs/nn/
4、授权
chown -R hdfs.hdfs current
5、删除/tmp 目录下的临时文件
6、重启集群
7、查看hadoop日志、cloudera manager状态正常

CDH重启换了Namenode节点后,提示Encountered

以上是关于CDH重启换了Namenode节点后,提示Encountered exception loading fsimage的主要内容,如果未能解决你的问题,请参考以下文章

hadoop 的HDFS 的 standby namenode无法启动事故处理

Case:CDH的CM节点挂掉,两个NameNode之前无法通信

CDH平台规划注意事项

CDH安装失败了,如何重新安装

HDFS Namenode挂掉后分析解决

namenode启动失败,这是啥原因