Hadoop权威指南:数据完整性
2024-08-26 09:56:59
Hadoop权威指南:数据完整性
常用的错误检测码是CRC-32(循环冗余校验)
HDFS的数据完整性
- HDFS会对写入的所有数据计算校验和,并在读取数据时验证校验和
- datanode负责在收到数据后储存该数据及其验证校验和
- 客户端从datanode读取数据时也会验证校验和,与datanode中存储的校验和进行比较
- 每个datanode均持久保存一个用于验证的校验和日志
- 每个datanode也会在一个后台线程中运行一个DataBlockScanner,定期验证存储在这个datanode上的所有数据块
- 在使用
open()
方法前, 将false
值传递给FileSystem对象的setVerifyChecksum()方法,即可以禁用校验和验证
LoaclFileSystem
- Hadoop的LocalFileSystem执行客户端的校验和验证
- 禁用校验和计算
使用RawLoaclFileSystem
替代LocalFileSystem
在应用中实现全局校验和验证
fs.file.impl
属性设置为org.apache.hadoop.fs.RawLocalFileSystem
,进而实现对文件URI的重新映射- 新建一个RawLocalFileSystem实例,如果想针对一些读操作禁用校验和,这个方案非常有用,实例如下
Configuration conf = ...
FileSystem fs = new RawLocalFileSystem();
fs.initialize(null, conf);
ChecksumFileSystem
LocalFileSystem
通过CheckFileSystem
来完成自己的任务,该类继承自FileSystem
,一般用法如下
FileSystem rawFS = ...
FileSystem checksummedFS = new ChecksumFileSystem(rawFs);
底层文件系统成为"源"(raw)文件系统,可以适用ChecksumFileSystem
实例的getRawFileSystem()
方法获取它
最新文章
- Android Studio获取SHA1和MD5方法
- 如何自学 Java 开发
- PHP日期与时间
- 使用css使textbox输入内容自动变大写
- 数论 - 筛法暴力打表 --- hdu : 12876 Quite Good Numbers
- Python配合BeautifulSoup读取网络图片并保存在本地
- Java 7 中 NIO.2 的使用——第四节 文件和目录
- Linux 性能监控的18个命令行工具
- linux的nohup disown setsid screen
- Introducing Regular Expressions 学习笔记
- Android 第一篇——环境搭建
- SRM 577 Div II Level Two: EllysRoomAssignmentsDiv2
- dwr.xml 配置
- 我的Python学习笔记(四):动态添加属性和方法
- 基于consul高可用
- ElasticSearch利用IK实现全文搜索
- Django 用户登陆访问限制 @login_required
- 【学习】pandas 基础介绍说明 【pandas】
- DirectX之顶点法线的计算
- javascript将list转换成树状结构