一、HDFS博坊线上娱乐官方完整性
Hadoop提供两种校验
1.校验和
Hdfs会对写入的所有博坊线上娱乐官方计算校验和,并在读取博坊线上娱乐官方时验证校验和。元博坊线上娱乐官方节点负责在验证收到的博坊线上娱乐官方后,储存博坊线上娱乐官方及其及其校验和。在收到客户端博坊线上娱乐官方或复制其他datanode的博坊线上娱乐官方时执行。正在写博坊线上娱乐官方的客户端将博坊线上娱乐官方及其校验和发送到一系列博坊线上娱乐官方节点组成的管线,管线的最后一个博坊线上娱乐官方节点负责验证校验和。客户端读取博坊线上娱乐官方节点博坊线上娱乐官方也会验证校验和,将它们与博坊线上娱乐官方及节点中储存的校验和进行比较。每个博坊线上娱乐官方节点都持久化一个用于验证的校验和日志。客户端成功验证一个博坊线上娱乐官方块后,会告诉这个博坊线上娱乐官方节点,博坊线上娱乐官方节点由此更新日志。此外,由于hdfs储存着每个博坊线上娱乐官方块的备份,它可以通过复制完好的博坊线上娱乐官方备份来修复损坏的博坊线上娱乐官方块来恢复博坊线上娱乐官方。
与校验和有关的类:①LocalFileSystem类。Hadoop的LocalFileSystem类是用来执行客户端的校验和验证。当写入一个名为filename的文件时文件系统客户端会在包含文件块校验和的同一目录内建立一个名为Filename.crc的隐藏文件。②ChecksumFileSystem类。LocalFileSystem类通过ChecksumFileSystem类来完成自己的任务FileSystem rawFs;FileSystem checkssummedFs=new ChecksumFileSystem(rawFS);可以通过CheckFileSystem的getRawFileSystem()方法获取源文件系统。当检测到错误时,CheckFileSystem类会调用reportCheckSumFailure()方法报告错误,然后LocalFileSystem将这个出错的文件和校验和移动到名为bad——files的文件夹内,管理员可以定期检查这个文件夹。
2.DataBlockScanner
博坊线上娱乐官方节点后台有一个进程DataBlockScanner,定期验证存储在这个博坊线上娱乐官方节点上的所有博坊线上娱乐官方项,该项措施是为解决物理存储介质上的损坏。DataBlockScanner是作为博坊线上娱乐官方节点上的一个后台线程工作的,跟着博坊线上娱乐官方节点同时启动,由于对博坊线上娱乐官方节点上的每一个博坊线上娱乐官方块扫描一遍要消耗较多的系统资源,一次扫描周期的值一般以较大,这就带来另一个问题,就是在一个扫描周期内可能出现博坊线上娱乐官方节点重启的情况,所以为了提高系统性能,避免博坊线上娱乐官方节点在启动后对还没有过期的博坊线上娱乐官方块又扫描一遍,DataBlockScanner在其内部使用了日志记录器来持久化保存每一个博坊线上娱乐官方块上一次的扫描时间,这样博坊线上娱乐官方节点可以在启动之后通过日志文件来恢复之前所有的博坊线上娱乐官方块的有效时间。
---------------------
作者:擎宇T
来源:CSDN
原文: https://blog.csdn.net/m0_37597006/article/details/79174512
版权声明:本文为博主原创文章,转载请附上博文链接!
【全文完】
版权声明:
1、弈聪软件网站内容中凡注明“来源:XXX(非陕西弈聪网站)”的作品,转载自其它媒体,转载目的在于传递更多信息,其中涉及的网站建设,网站优化,APP开发,微信小程序开发,大博坊线上娱乐官方平台开发,区块链技术开发等软件开发技术细节并不代表本站赞同支持其观点,并不对其真实性负责。对于署名“陕西弈聪”的作品系本站版权所有,任何人转载请署名来源,否则陕西弈聪将追究其相关法律责任。
2、本站内容中未声明为“原创”的内容可能源自其它网站,但并不代表本站支持其观点,对此带来的法律纠纷及其它责任与我方无关。如果此内容侵犯了您的权益,请联系我方进行删除。