HDFS数据完整性校验研究

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

目录:

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是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值