我得到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条答案
按热度按时间x3naxklr1#
尝试格式化namenode:hadoop namenode-format
请注意,为了获得格式化的访问权限,必须以hdfs用户身份执行命令。例如,为了从cloudera user切换到hdfs,请执行以下操作:
sudo bash公司
su-高密度光纤
如果您仍然得到关于datanode的错误,我可能需要清除datanode文件夹:
首先尝试删除datanode文件夹(您可以在dos.data.dir、dfs.datanode.data.dir下的配置文件中找到它)。
如果您有一个cloudera快速启动vm,那么位置是/var/lib/hadoop hdfs/cache/hdfs/dfs/data
h9vpoimq2#
停止所有数据节点和辅助名称节点,并使用以下命令格式化名称节点:
重新启动名称节点和数据节点