第130讲:Hadoop集群管理工具DataBlockScanner 实战详解学习笔记

130讲:Hadoop集群管理工具DataBlockScanner 实战详解学习笔记

DataBlockScannerdatanode上运行的block扫描器,定期检测当前datanode节点上所有的block,从而在客户端读到有问题的块前及时检测和修复有问题的块。

它有所有维护的块的列表,通过对块的列表依次的扫描,查看是否有校验问题或错误问题,它还有截流机制。

什么叫截流机制?DataBlockScanner扫描时会消耗大量的磁盘带宽,如果占用磁盘带宽太大,会有性能问题。所以它会只占用一小部分磁盘带宽。

默认隔504小时(3周)扫描一次。可以dfs.datanode.scan.period.hours属性中设置,如果发现损坏的块会报告给namenode进行修复。

如果想查看当前datanodeDataBlockScanner的信息的话,可以访问datanodeIP50075端口。如worker4:50075/blockScannerReport。结果非常清晰。

hdfs提供两种校验方式:

1.校验和。第一次进行系统计算数据的校验和,在通道传输过程中,如果新生成的校验和不匹配原始的校验和,数据被认为是损坏的。

hdfs是以透明的方式检验所有写入的数据,默认情况下进行设置,读取数据时验证校验和。数据的每一个校验块都会创建单独的校验和,默认校验块大小是512字节,对应校验和是4个字节,datanode节点在存储数据前会验证收到 的数据,如果节点检测错误,客户端会收到校验和错误:checksumexception

客户端读取datanode上的数据时就会验证校验和,即将校验和跟datanode存储的校验和比较,每一个datanode上都会维护有校验和日志,里面有验证时间,客户端成功验证校验和后告诉datanode节点,随后更新日志。

2.DataBlockScanner,是在datanode上开启后台线程,定期验证存储在当前datanode上的块,防止物理介质损坏出现的数据损失。

是在单独线程中执行,周期性地校验。当dfs.client读取时会通知DataBlockScanner校验结果,DataBlockScanner最大的扫描速度是8MB/s(可设)。最小扫描速度1MB/s。默认扫描周期是3周(504hr)。因为周期较长,扫描所花时间也很长,为了避免扫描过程中datanode节点重启的情况,DataBlockScanner采用日志记录器,持久化保存每一个block上次扫描时间,这样datanode重启后会通过日志恢复每一个block的有效时间。

为节约系统资源,会对block的验证不仅仅依赖于DataBlockScanner的后台线程还会向具体客户端传送block时更新block的扫描时间。因为datanode向客户端传送一个block时,需要校验数据块,这时日志记录器不会马上把block的扫描信息写到日志,因为频繁的磁盘IO会导致性能下降,何时会把当前block的最后扫描时间写入日志呢?这有不同条件,感兴趣可以参考源码。

 

以上内容是王家林老师DT大数据梦工厂《Hadoop深入浅出实战经典》第130讲的学习笔记。
王家林:SparkFlinkDockerAndroid技术中国区布道师。Spark亚太研究院院长和首席专家,DT大数据梦工厂创始人,Android软硬整合源码级专家,英语发音魔术师,健身狂热爱好者。

微信公众账号:DT_Spark

联系邮箱18610086859@126.com 

电话:18610086859

QQ:1740415547

微信号:18610086859  

新浪微博:ilovepains

王家林的第一个中国梦:免费为全社会培养100万名优秀的大数据从业人员!

可以通过王家林老师的微信号18610086859发红包捐助,目前已经发布的王家林免费视频全集如下:

1,《大数据不眠夜:Spark内核天机解密(共100讲)》:http://pan.baidu.com/s/1eQsHZAq  

2,《Hadoop深入浅出实战经典》 http://pan.baidu.com/s/1mgpfRPu 

3,《Spark纯实战公益大讲坛》 http://pan.baidu.com/s/1jGpNGwu 
4,《Scala深入浅出实战经典》 http://pan.baidu.com/s/1sjDWG25 
5,《Docker公益大讲坛》 http://pan.baidu.com/s/1kTpL8UF 
6,《Spark亚太研究院Spark公益大讲堂》 http://pan.baidu.com/s/1i30Ewsd 

7Spark实战高手之路全部六阶段视频:http://edu.51cto.com/pack/view/id-144.html

8,《大数据Spark企业级实战》购买http://item.jd.com/11622851.html

 

130讲视频网站地址:

51CTO

http://edu.51cto.com/lesson/id-78344.html

posted @ 2015-11-15 17:10  飞天richard  阅读(796)  评论(0编辑  收藏  举报