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的目录是否都重建了。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值