Hadoop集群硬盘故障分析与自动化修复

本文介绍了Hadoop集群中硬盘故障的发现、分析及解决过程,包括使用fdisk和parted等工具进行修复,并提供了自动化修复硬盘的Perl脚本链接。建议运维人员掌握这些技能,以应对高硬盘故障率的挑战。

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

摘要

硬盘在服务器中起着至关重要的作用,因为硬盘里面存储的是数据,随着制造业技术的提高,硬盘的类型也在逐渐的改变。对于硬盘的管理是IAAS部门的责任,但作为业务运维也需要懂得相关的技术。

有的公司采用LVM来管理硬盘,这样做方便扩缩容,也有的公司直接用裸盘来存数据,这样做的好处是不会因LVM而损失掉一部分硬盘I/O速度。需要根据不同的场景采用不同的方式来管理。

Hadoop集群中跑Datanode服务的节点不建议做LVM,因为没有必要,你想想,Hadoop的HDFS就是做分布式大数据的,用Hadoop的公司肯定是有大量的数据,所以对于HDFS基本原则是硬盘有多少空间就用多少空间,不够用的话再加机器或者加硬盘。

硬盘故障在服务器硬件故障中所占的比例是最高的,下面我给出Ebay的故障报告中的硬件部件和对应故障率状态图:

spacer.gif

从图中可以很明显的看到硬盘故障率最高,达到了84%,所以对于运维来说,如果能统计出平时工作中的故障案例,并把它们写成自动化修复脚本,那将有很重大的意义。

如果你的眼光还能看得更远一点的话,可以想一想:能不能做出一套硬件故障检测与修复的系统呢?(需要硬件厂商的合作),我这里只做抛砖引玉,如果你能想到这些,说明你已经走在了自动化运维的路上了。

 

这里先介绍一例最典型的硬盘故障案例,然后会给出硬盘故障的常规处理步骤,最后我会附上硬盘自动化修复脚本的链接。

 

环境

这台服务器是hadoop集群里的一台slavenode ,上面跑的有datanode和nodemanager服务,总共有12块数据盘和一块系统盘,每块数据盘都只做了一个partition,文件系统用的是ext4,没有做LVM。

 

故障发现

某天我们的监控系统报出了一条告警,说一个用户的一个Job跑失败了,因为这个用户是很重要的用户,所以他的每个Job跑的成功与否,跑了多长时间我们都是有监控的,废话不多说。

先查看Job id :job_1431213413583_799324,Failed的Job 在node:example.ebay.com上,对应的日志显示:“Error: java.io.FileNotFoundException…………”,再进一步查看日志,发现是没有找到/path/to/corrupt/file这个block ,我用hadoop fsck命令查看下对应的block所在的节点,发现是在corrupted.node.com上。

考虑到公司安全,以上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值