Hadoop入门 集群崩溃的处理方法

本文介绍了在Hadoop集群崩溃后如何避免错误操作并正确恢复的过程。错误地格式化NameNode会导致集群无法启动,正确的步骤包括停止服务、删除数据和日志、格式化以及重启。在格式化前务必停止所有进程并清理相关目录,以保持NameNode和DataNode的版本匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

集群崩溃的处理方法

搞崩集群

hadoop102

image

hadoop103

image

hadoop104

image

此时HDFS Web端的文件是不可以下载的,因为三个副本都删除了。

错误示范

最先想到的是格式化集群

[ranan@hadoop102 hadoop-3.1.3]$ hdfs namenode -format

image

提示需要先停掉集群,正常情况下先把yarn停掉

[ranan@hadoop103 hadoop-3.1.3]$ sbin/stop-yarn.sh
[ranan@hadoop102 hadoop-3.1.3]$ sbin/stop-dfs.sh

image

image

启动集群,发现集群正常启动,但是NameNode没了

[ranan@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh

image

查看目录,发现删除了DataNode中的name

image

那就格式NameNode,之前并没有成功格式化。

[ranan@hadoop102 hadoop-3.1.3]$ hdfs namenode -format

格式化之后,发现name文件夹有了,进去查看版本号。发现两次的版本号不一样。

[ranan@hadoop102 hadoop-3.1.3]$ cd data/dfs/name/current
[ranan@hadoop102 current]$ cat VERSION

image

image

此时进入HDFS网页,发现进不去了

image

查看发现namenode还是没有启动

image

那该怎么办?

正确处理方法

1 回到hadoop的家目录

image

2 杀死进程

[ranan@hadoop102 hadoop-3.1.3]$ sbin/stop-dfs.sh

image

3 删除每个集群的data和logs

[ranan@hadoop102 hadoop-3.1.3]$ rm -rf data logs
[ranan@hadoop103 hadoop-3.1.3]$ rm -rf data logs
[ranan@hadoop104 hadoop-3.1.3]$ rm -rf data logs

4 格式化

[ranan@hadoop102 hadoop-3.1.3]$ hdfs namenode -format

5 启动集群

[ranan@hadoop102 hadoop-3.1.3]$ hdfs namenode -format

image

重启成功,但是数据都被清空了

image

总结

1.先停HDFS服务
2.清除所有节点的历史data和logs
3.格式化NameNode
4.重新启动

原因分析

image

格式化 NameNode,会产生新的集群 id,导致 NameNode 和 DataNode 的集群 id 不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化 NameNode 的话,一定要先停止 namenode 和 datanode 进程,并且要删除所有机器的 data 和 logs 目录,然后再进行格式化。

namenode,datanode都有自己的版本号。namenode和datanode是一一绑定的。
格式化以后的namenode是匹配不上没有格式化以前的datanode。

版本要能匹配的上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值