HDFS集群数据节点巡检和修复

一、背景

①因HDFS特点之一:容忍硬件故障——将硬件故障视为常态,所以我们在维护大数据集群时,需要及时解决硬件故障,保障底层的稳定。

②使用产品华为FusionInsight HD 6.5.1。

③目标:后台定位坏盘IP、位置、具体原因,并实现修复。

一、如何获取坏盘位置?

①登录FI前台界面,进入集群主NameNode节点的原生web UI页面 (集群节点较多,使用联邦机制,有三个NameNode节点。经过测试,三个节点的原生页面反馈的“Datanode Volume Failures”信息均相同)

②查看异常数据节点及具体信息(主要关注IP信息和Failed Storage Locations:故障存储位置)

        问题一:如何在主机上获取这些信息呢?

③登录客户端主机,执行  curl -s -k --negotiate -u :  "https://10.78.152.14:25003/jmx"   命令,并将执行结果输出到txt文本,以便后续分析。

通过搜索关键字"failedStorageIDs",可定位具体IP信息和坏盘位置(匹配到 "failedStorageIDs" 关键字9次,与前台页面数量一致)

        问题二:如何通过切割出我们想要的信息?

①通过jq命令

②通过python

三、如何自动化定位异常原因?

"   /opt/MegaRAID/storcli/storcli64 /CALL SHOW "这条命令的含义是什么?

使用 storcli64 工具来显示 MegaRAID 存储控制器上所有虚拟磁盘(Virtual Disk)的详细信息。每个部分的含义:

  • /opt/MegaRAID/storcli/storcli64: 这是 storcli64 工具的路径,通常在 /opt/MegaRAID/storcli/ 目录下。这是存储管理工具的可执行文件。

  • /cALL: /c 是控制器(Controller)的缩写,ALL 表示对所有控制器执行操作。如果系统有多个存储控制器,这样的命令会对它们全部生效。

  • SHOW: 这个参数表示执行 SHOW 操作,用于显示相关信息

执行结果如下:

1.查看Physical Drives的数量是否为12/14,判断为“掉盘”(根据实际情况改变)

2.若没有掉盘,则查看每块盘的状态,正常为Onln,若异常状态为faild或ubad,把异常盘的EID:SIt和State抛出即可,ugood,则表示"未做raid”

"空挂"情况如下所示:

上图为sda1未挂载

将上述结果告知主机组,选择业务低峰期(夜晚)进行维修

白天需要停止数据节点DN和NM实例,注意:停止DN实例会导致HDFS副本迁移,需逐台停止,待副本数完全迁移完成后,停止下一台。

四、修复过程经验分享

1.掉盘情况,在厂商现场换好盘后,新盘插上后要做raid0,使用storcli64工具,做好时候lsblk可以看到/dev/sdx。

2.使用parted创建分区,创建好后lsblk可以看到/dev/sdx1,blkid可以看到sdx的uuid。

3.合理选择文件系统格式,格式化/dev/sdx1。

4.写入fstab。

5.mount -a 挂载

6.使用chown和chmod,修改数据目录权限、所属人、所属组,检查无误后启动主机DN和NM实例。

若磁盘为是LVM逻辑卷管理,类似于下图所示

1.pvcreate  /dev/sdx
2.vgexcreate vgname /dev/sdx
3.lvcreate  -l  +100%FREE vgname -n  lvname
4.格式化mkfs.xfs/mkfs.ext3  /dev/mapper/vgname-lvname
5.fstab使用/dev/mapper/vgname-lvname挂载

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值