分享

因一块硬盘导致datanode挂了的处理

aaronping 发表于 2015-6-8 14:48:19 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 9 30662
今早巡检已经运行了1年多的hadoop集群,发现一datanode挂了,报错信息:
2015-06-08 08:52:16,105 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: For namenode hadoop-master1/192.168.32.11:8020 using DELETEREPORT_INTERVAL of 300000 msec  BLOCKREPORT_INTERVAL of 21600000msec Initial delay: 0msec; heartBeatInterval=3000                  
2015-06-08 08:52:16,105 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in BPOfferService for Block pool BP-1414312971-192.168.32.11-1392479369615 (storage id DS-1944699663-192.168.32.94-50010-1425888569512) service to hadoop-master1/192.168.32.11:8020
于是对数据分区访问,发现其中一数据分区不能访问(我们是一块磁盘对应一个数据分区,共10分区,并没做raid)。
在hdfs-site.xml中增加配置:
  <property>
    <name>dfs.datanode.failed.volumes.tolerated</name>
    <value>1</value>
  </property>

dfs.datanode.failed.volumes.tolerated默认值为0,如有磁盘损坏,则该节点的datanode停止服务,改为1后,允许1块硬盘损坏不影响其他磁盘运行。重启后正常使用。
因在网上查找相关资料时,多数判定为datanode的ID与master的ID不一致,故在此增加这种情况的应对方式。

已有(9)人评论

跳转到指定楼层
zhangshuai 发表于 2015-6-8 15:27:56
您好,大神,运行一年多hadoop集群 相当不错了 求个联系方式。借鉴下您宝贵的经验?
回复

使用道具 举报

hahaxixi 发表于 2015-6-9 10:15:38
赞,希望有更多的实践高手分享经验给我们这些菜鸟~~~
回复

使用道具 举报

aaronping 发表于 2015-6-9 14:41:52
虽然维护了一年的hadoop,但我觉得自己还是菜鸟,不过,遇到的问题,一般个人觉得有参考价值的都在此贴出。从每次故障来看,多为磁盘损坏后,导致了问题,当然也出现过其他问题。现在的hadoop还是比较稳定。
回复

使用道具 举报

yuwenge 发表于 2015-6-9 15:02:30
aaronping 发表于 2015-6-9 14:41
虽然维护了一年的hadoop,但我觉得自己还是菜鸟,不过,遇到的问题,一般个人觉得有参考价值的都在此贴出。 ...

楼主用的hadoop那个版本
回复

使用道具 举报

levycui 发表于 2015-6-10 09:25:50
“一块磁盘对应一个数据分区,共10分区,并没做raid”,这个怎么做的有文章可以学习吗?
回复

使用道具 举报

aaronping 发表于 2015-6-10 09:49:25
回复

使用道具 举报

flysky0802 发表于 2015-6-16 17:47:12
大神啊 ,你这个节奏很危险哦! 我建议你设置为单机硬盘数的1/3,这样就会好点了哦 ,即使挂掉几个硬盘也不会影响集群哦,你设置为1的话,还是对集群的高容错利用的不好!
回复

使用道具 举报

flysky0802 发表于 2015-6-16 17:47:44
大神啊 ,你这个节奏很危险哦! 我建议你设置为单机硬盘数的1/3,这样就会好点了哦 ,即使挂掉几个硬盘也不会影响集群哦,你设置为1的话,还是对集群的高容错利用的不好!
回复

使用道具 举报

aaronping 发表于 2015-6-16 17:55:03
多谢建议,我本意是介绍方法,至于设置的数量,得根据自己能承受程度,如我们生产环境上,datanode是15块硬盘,我们设置为6。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条