目录:
1.hdfs 数据完整性介绍
2.hdfs 数据完整性校验机制:
3.LocalFileSystem
一. hdfs 数据完整性介绍:
IO操作过程中难免会出现数据丢失或脏数据,数据传输得量越大出错得几率越高。校验错误最常用得办法就是传输前计算一个校验和,传输后计算一个校验和,两个校验和如果不相同就说明数据存在错误,比较常用得错误校验码是CRC32.
二. hdfs 数据完整性校验机制:
hdfs存在两个校验机制:
2.1 读写数据时效验和
HDFS实现了对HDFS文件内容的校验和检测(CRC循环校验码):
Hdfs写流程中,会对所有数据进行计算效验和: 客户端将数据和效验和通过管道流发送到多个datanode节点上,并在管道最后一个节点上验证效验和,如果校验失败则抛出IO异常,如果成功则写入crc隐藏文件;
HDFS读流程中,读取数据节点数据也会验证效验和,校验数据后与数据及节点中存储的效验和(隐藏的crc文件中的效验和)进行比较,如果不一致则上报坏块并选择其他节点读取。每个数据节点都持久化一个用于验证的校验和日志。客户端成功验证一个数据块后,会告诉这个数据节点,数据节点由此更新日志。
由于hdfs储存着每个数据块的备份,它可以通过复制完好的数据备份来修复损坏的数据块来恢复数据。
2.2 BlockScanner
BlockScanner,定期验证存储在这个数据节点上的所有数据项(具体工作由多个volumeScanner线程执行),该项措施是为解决物理存储介质上的损坏。DataBlockScanner是
HDFS数据完整性机制解析

本文深入探讨HDFS数据完整性保障机制,包括读写过程中的校验和验证、BlockScanner定期扫描机制,以及LocalFileSystem如何执行客户端校验。揭示HDFS如何确保数据准确无误,即使面对大规模数据传输和潜在的物理存储损坏。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



