块汇报与块副本数补全&&datanode扫描自身存储池

在hdfs中,某个块的副本数不足时,什么时候才能把副本数补全?

先看两个参数:

参数 默认值 (都是6小时) 作用  
dfs.blockreport.intervalMsec

21600000

datanode全量块汇报的间隔  
dfs.datanode.directoryscan.interval 21600 datanode扫描磁盘存储的时间间隔,当扫描到磁盘中某个块有问题时,会将datanode内存中的块信息也删除  
       

当将dfs.datanode.directoryscan.interval的值缩小到10分钟时,将某个块人为的删除掉,在日志中可以看到删除块的信息。但是不能很快的补全少的块

日志内容(datanode扫描遍历存储池pool,可以发现坏的块。但是namenode此时并不知道,没有任何响应)

 

将dfs.blockreport.intervalMsec(全量块汇报)缩小到10分钟,可以看到在全量块汇报后,将损失的块补全

 

三组正常的块汇报和三组正常的datanode存储池扫描

datanode上的正常日志:对应的三组全量块汇报(一般情况下块池的扫描和全量块汇报不是同时进行的,这里的实验集群是正赶巧了,集群几乎没有压力)

对应的namenode上的接受dn的全量块汇报

 

 

 

增量块汇报

数据块增量汇报时间间隔是心跳时间间隔的100倍,默认情况下是5分钟 

 

 

 

 

 

 

发布了22 篇原创文章 · 获赞 1 · 访问量 2061
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览