Hadoop Namenode无法启动

时间:2014-10-24 12:34:36

标签: hadoop hdfs cloudera-cdh

我收到java.io.IOException:启动Namenode时无法加载FSImage文件

ERROR org.apache.hadoop.hdfs.server.namenode.FSImage: Failed to load image from FSImageFile(file=/opt1/dfs/nn/current/fsimage_0000000000023479779, cpktTxId=0000000000023479779)
java.io.IOException: Unexpected block size: -1945969516689645797

java.io.IOException: Failed to load an FSImage file!

由于这个原因,namenode还没有开始。 我的群集中有1个namenode,1个seconday namenode和3个datanode。

有人可以帮助我恢复我的群集。

2 个答案:

答案 0 :(得分:0)

尝试格式化namenode: hadoop namenode -format

请注意,要获得格式化的访问权限,必须以hdfs用户身份执行命令。 例如,从cloudera用户到hdfs的交换机执行以下操作:

sudo bash

su - hdfs

如果您仍然遇到有关datanode的错误,我可能需要清除datanode文件夹:

首先尝试删除datanode文件夹(您可以在 dos.data.dir,dfs.datanode.data.dir 下的配置文件中找到它。)

如果您有cloudera-quickstart-vm,则位置为 / var / lib / hadoop-hdfs / cache / hdfs / dfs / data

答案 1 :(得分:0)

使用以下命令停止所有数据节点和辅助名称节点以及格式名称节点:

sudo -u hdfs hdfs namenode -format

重新启动名称节点和数据节点