CDH节点宕机恢复记录

由于意外,集群中的一个节点系统坏了,重装系统后,把该节点添加集群中,恢复hdfs数据。

思路:主要问题是把hdfs的数据恢复,由于hdfs的机制very good,只要把节点从集群中删掉,再添加进集群中,配置hdfs对应目录就好。

背景:安装的cdh6.2,使用cm界面进行管理
在这里插入图片描述

流程:
1.从集群中删除节点,删除的时候,勾选解除授权。
在这里插入图片描述

2.从主机管理中删除节点
3.走集群添加新节点流程

节点上的一些对应安装配置(略过)
在cm界面中添加新节点
警告一顿猛如虎的操作:在这里插入图片描述

而后面生成的/data2/hadoop/hdfs/data目录权限都是root,修改所属用户和用户组即可(如果权限不一致,修改确保跟正常启动的数据目录权限保持一致),执行如下命令:

chown -R hdfs:hadoop data

新节点ok,hdfs没有任何问题,没有丢块。

节点恢复后,HDFS出现了坏块
在这里插入图片描述
可以使用hdfs fsck / -delete删除hdfs上的坏块,此操作可能会丢失数据,慎用,本场景下不得不用,如果有更好的解决方法,欢迎指点。
在这里插入图片描述
执行hdfs fsck /,发现状态已经变成healthy
在这里插入图片描述
当然,这只是数据允许丢失的情况下可以使用的一种简单粗暴的方法,生产上还是无法使用这种直接删数据的方法的
那么生产上应该怎么处理这种情况呢?
(1)首先hdfs fsck -files -blocks -locations找到数据块的位置和丢失的数据信息
(2)hdfs debug recoverLease [-path ] [-retries ] 用这个命令恢复上面路径丢失的数据块,最后一个参数是重试次数
上面方法来源于
链接:https://www.jianshu.com/p/de16139a11a4

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章