hadoop CRC数据校验文件

CRC介绍

CRC(循环冗余校验)

hadoop 与 CRC

Hadoop系统为了保证 数据的一致性会对文件生成相应的校验文件(.crc文件),并在读写的时候进行校验,确保数据的准确性

为什么用 CRC

hadoop中的数据,可能会保存很久,保存一个月,一年,十年等。

数据保存这么久,物理存储介质由于中位衰减,会造成数据损坏,这对一个大文件来说,很容易导致一个块由于时间关系,硬盘错位,最终导致整个文件都是错误的

为了解决此问题,hadoop使用crc校验

原理

  • HDFS会对写入的所有数据计算校验和,并在读取数据时验证校验和
  • datanode负责在收到数据后储存该数据及其验证校验和
  • 客户端从datanode读取数据时也会验证校验和,与datanode中存储的校验和进行比较
  • 每个datanode均持久保存一个用于验证的校验和日志
  • 每个datanode也会在一个后台线程中运行一个DataBlockScanner,定期验证存储在这个datanode上的所有数据块

参考

https://www.cnblogs.com/bovenson/p/5730773.html
https://blog.csdn.net/tianyeshiye/article/details/85293295


原文出处:https://malaoshi.top/show_1IX3ZvW3sAYJ.html