HDFS冗余数据块的自动删除

HDFS冗余数据块的自动删除

在日常维护hadoop集群的过程中发现这样一种情况:某个节点由于网络故障或者DataNode进程死亡,被NameNode判定为死亡,HDFS马上自动开始数据块的容错拷贝;当该节点重新添加到集群中时,由于该节点上的数据其实并没有损坏,所以造成了HDFS上某些block的备份数超过了设定的备份数。通过观察发现,这些多余的数据块经过很长的一段时间才会被完全删除掉,那么这个时间取决于什么呢?该时间的长短跟数据块报告的间隔时间有关。Datanode会定期将当前该结点上所有的BLOCK信息报告给Namenode,参数dfs.blockreport.intervalMsec就是控制这个报告间隔的参数。hdfs-site.xml文件中有一个参数:dfs.blockreport.intervalMsec3600000Determines block reporting interval in milliseconds.其中3600000为默认设置,3600000毫秒,即1个小时,也就是说,块报告的时间间隔为1个小时,所以经过了很长时间这些多余的块才被删除掉。通过实际测试发现,当把该参数调整的稍小一点的时候(60秒),多余的数据块确实很快就被删除了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 首先,我们在使用前先看看HDFS是什麽?这将有助于我们是以后的运维使用和故障排除思路的获得。 HDFS采用mast...
    W_Bousquet阅读 9,714评论 0 2
  • HDFS的设计目标 通过上一篇文章的介绍我们已经了解到HDFS到底是怎样的东西,以及它是怎样通过多副本机制来提供高...
    陌上疏影凉阅读 5,296评论 0 3
  • 思考问题 HDFS的架构 设计前提和目标 专为存储超大文件而设计:hdfs应该能够支持GB级别大小的文件;它应该能...
    Sakura_P阅读 3,816评论 0 2
  • 上高中的时候,一天中最轻松的时刻便是晚自习结束回到寝室后的半个多小时。记得有一晚,大家早早洗漱好了,躺在床上畅想未...
    盛图南阅读 1,800评论 6 2
  • 默然的睁开双眼,透过蚊帐密密的孔洞,注视着熟悉的天花板。一阵无力的孤独感侵蚀着自己。平日的把酒言欢,笑语欢歌,随着...
    愿成为你心里的涟漪阅读 5,167评论 0 0