注:本文涉及书中4.1小结
数据完整性
1. HDFS的完整性检测
检测数据损坏的方法:计算校验和。
以下情况HDFS会检测数据的完整性:
(1)HDFS会对写入的所有数据计算校验和
(2)在读取数据时验证校验和。
(3)每个datanode会在一个后台线程中运行一个DataBlockScanner,从而定期验证存储在这个datanode上的所有数据块,以检测物理存储设备是否有损毁。
2. 客户端的校验和验证
Hadoop的LocalFileSystem执行客户端的校验和验证。
注:无论是HDFS的校验和,还是客户端的校验和,都可以被禁用
3. ChecksumFileSystem
LocalFileSystem通过ChecksumFileSystem来完成自己的任务,有了这个类,想其他没有校验和的文件系统加入校验和就非常简单。