HDFS学习笔记(4)IO读写操作之checksum
来源:互联网
Datanode在把数据实际存储之前会验证数据的校验和(checksum的初始值?)。client通过pipeline把数据写入datanode. 最后一个datanode会负责检查校验和。当client从datanode读取数据时,也会检查校验和:把真实数据的校验和同datanode上的校验和进行比较。每个datanode都保存有一个checksum验证的持久化日志,日志中有当前datanode每个block最后的更新时间。当client成功验证了一个block, 它会告诉datanode, 之后datanode会更新它的日志,保存这些信息有助于检测坏磁盘。除了会在client读取数据时验证block, 每个datanode还会在后台运行一个DataBlockScanner线程来周期性验证所有存储在datanode上的block, 这用来防止物理存储媒介上出现"位衰减"。)。cli