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.(NameNode.java:992)

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

 

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

ERROR datanode.DataNode (BPServiceActor.java:run(752)) - Initialization failed for Block pool (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.(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

Hadoop 格式化format namenode 后,ambari端启动datanode节点无法正常启动处理_第1张图片

hdfs-site.xml

Hadoop 格式化format namenode 后,ambari端启动datanode节点无法正常启动处理_第2张图片

 

这是我的集群对应的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的目录是否都重建了。

 

 

你可能感兴趣的:(hadoop日常维护,hadoop,大数据,hdfs)