Hadoop Datanode 机器缺失 VD 问题修复尝试

时间:2021-11-24 09:57:17

背景:

新集群 Datanode 使用两个 SSD 做 raid 1 作为根磁盘,12 个 SAS 单独做 raid 0 作为数据盘,在机器部署完毕后,缺发现 PD slot 4 和 slot 5 丢失了 VD,然后挂载目录默认使用了VD初始化,但是挂载目录和 PD 对应不上,这样将会给后续维护集群磁盘带来不少麻烦。

处理手段:

修改 Linux lable, 使挂载目录和 PD 再对应上

具体命令(python 代码展示):

""" tune2fs -L /%s /dev/sd%s1 """ %( label , device )

然后使用 mount -L 将修改了的 lable 挂载到挂载目录上

具体原理是 : PD <--使用 Mega --> VD <--操作系统--> device 分区  <--对应--> lable <--挂载--> 目录 <--规范对应--> PD

好吧,单盘做 raid 0 ,转了一个圈重新回来。。。

做操作的使用要相当注意:

1. 确实服务完全停止了,不要被 puppet 之类的服务带起

2. 修复好了后不要急着启动 服务,否则 datanode 的 Threads Waiting 会大量增加

3. 在 jobtracker 和 nn 的 web 界面时刻观察修复后的 dn 的情况,有任何不对停止服务

但愿剩下的 39 台修复能顺利......

嗯,手动和自动修复下,所有的机器缺失 VD 已经修复成功

过程中做的一些事情,给 新集群的磁盘自动化完善还是很有帮助的

下面这条命令可以用于新集群的 自动 repair

tune2fs -l /dev/sdl1