微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Hadoop 格式化format namenode 后,ambari端启动datanode节点无法正常启动处理

问题描述:

hadoop namenode -format hdfs重新格式化之后,重新启动后,一直无法启动。

(有问题就查,不要一直格式化,干哈呢,万一脑裂了,咋弄,虽然有办法恢复)

在datanode上的报错日志如下,可以看出id不一致

2021-01-09 16:34:09,920 ERROR namenode.NameNode (NameNode.java:main(1759)) - Failed to start namenode.

org.apache.hadoop.hdfs.server.common.IncorrectVersionException: Unexpected version of storage directory /data01/hadoop/hdfs/namenode. Reported: -64. Expecting = -63.

    at org.apache.hadoop.hdfs.server.common.StorageInfo.setLayoutVersion(StorageInfo.java:178)

    at org.apache.hadoop.hdfs.server.common.StorageInfo.setFieldsFromProperties(StorageInfo.java:131)

    at org.apache.hadoop.hdfs.server.namenode.NNStorage.setFieldsFromProperties(NNStorage.java:626)

    at org.apache.hadoop.hdfs.server.namenode.NNStorage.readProperties(NNStorage.java:655)

    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverStorageDirs(FSImage.java:339)

    at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:215)

    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1015)

    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromdisk(FSNamesystem.java:690)

    at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:688)

    at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:752)

    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:992)

    at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:976)

 

........................................

ERROR datanode.Datanode (BPServiceActor.java:run(752)) - Initialization Failed for Block pool <registering> (Datanode Uuid 0850e5b3-d7bd-422b-963a-5517039ceb99) service to x.x.x.x/x.x.x.x:8020. Exiting.

org.apache.hadoop.util.diskChecker$diskErrorException: Too many Failed volumes - current valid volumes: 2

volumes configured: 14

volumes Failed: 12

volume failures tolerated: 0

        at org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl.<init>(FsDatasetImpl.java:293)

 


原因分析:

因未对数据盘进行清除,导致直接格式后,datanode的 节点的clusterID不一致。


解决方案:

 

(1)首先我们,停止全部的服务

(2) 删除namenode和所有datanode节点上文件夹:分别删除core-site.xml和hdfs-site.xml的hadoop.tmp.dir、dfs.name.dir、dfs.datanode.dir的对应目录,使用ambari的用户,可以直接在config页面直接搜索

core-site.xml

hdfs-site.xml

 

这是我的集群对应的name和data目录

rm -rf /hadoop/hdfs/namenode

rm -rf /data01/hadoop/hdfs/namenode

rm -rf /var/hadoop/hdfs/namenode

rm -rf /hadoop/hdfs/data

rm -rf /data01/hadoop/hdfs/data

rm -rf /var/hadoop/hdfs/data

3、确保已删除全部name和data目录后,重新格式

hadoop namenode -format (在你的namenode上执行)

4、启动服务,查看是否服务正常运行,之前删除的data和name的目录是否都重建了。

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐