HDFS数据完整性
发布日期:2021-06-29 12:30:30
浏览次数:2
分类:技术文章
本文共 1031 字,大约阅读时间需要 3 分钟。
用户希望储存和处理数据的时候,不会有任何损失或者损坏。
Hadoop提供两种校验1校验和(常用循环冗余校验CRC-32)2运行后台进程来检测数据块
校验和1、写入数据节点验证2、读取数据节点验证3、恢复数据4、Localfilesystem类5、ChecksumfileSystem类6、DatablockScanner
1、写入数据节点验证Hdfs会对写入的所有数据计算校验和,并在读取数据时验证校验和。元数据节点负责在验证收到的数据后,储存数据及其校验和。在收到客户端数据或复制其他datanode的数据时执行。正在写数据的客户端将数据及其校验和发送到一系列数据节点组成的管线,管线的最后一个数据节点负责验证校验和
2、读取数据节点验证客户端读取数据节点数据也会验证校验和,将它们与数据节点中储存的校验和进行比较。每个数据节点都持久化一个用于验证的校验和日志。客户端成功验证一个数据块后,会告诉这个数据节点,数据节点由此更新日志。
3、恢复数据由于hdfs储存着每个数据块的备份,它可以通过复制完好的数据备份来修复损坏的数据块来恢复数据。
4、Localfilesystem类Hadoop的LocalFileSystem类是用来执行客户端的校验和验证。当写入一个名为filename的文件时文件系统客户端会在包含文件块校验和的同一目录内建立一个名为Filename.crc的隐藏文件。
5、ChecksumfileSystem类LocalFileSystem类通过ChecksumFileSystem类来完成自己的任务FileSystem rawFs;FileSystem checksummedFs=new ChecksumFileSystem(rawFS);可以通过CheckFileSystem的getRawFileSystem()方法获取源文件系统。当检测到错误,CheckFileSystem类会调用reportCheckSumFailure()方法报告错误,然后LocalFileSystem将这个出错的文件和校验和移到名为bad_files的文件夹内,管理员可以定期检查这个文件夹。
6、DatablockScanner数据节点后台有一个进程DataBlockScanner,定期验证储存在这个数据节点上的所有数据项,该项措施是为解决物理储存媒介上的损坏。DataBlockScanner是作为数据节点的一个后台线程工作的,跟着数据节点同时启动
转载地址:https://bupt-xbz.blog.csdn.net/article/details/79170539 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月26日 23时41分03秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
正则表达式的数字实例
2019-04-29
【转】EasyUI 验证
2019-04-29
Django实战---商城购物车的增删改、显示和合并购物车
2019-04-29
Django项目实战----添加支付宝支付
2019-04-29
DRF框架---前言(简单使用)
2019-04-29
字符串外面是b“ “的转换 -亲测有效
2019-04-29
单通道和多通道卷积
2019-04-29
npy文件和pkl文件的保存和读取
2019-04-29
买卖股票的最佳时机
2019-04-29
AUC粗浅理解笔记记录
2019-04-29
torch 模型运行时间与forward没对应的可能原因
2019-04-29
JavaScript 的addEventListener() 事件监听详解!
2019-04-29
上传图片到阿里云OSS和获取上传图片的url的详解 !
2019-04-29
Kafka为什么这么快?
2019-04-29
Java 生产者和消费者面试题
2019-04-29
生产者消费者问题
2019-04-29
本机电脑连接虚拟机redis失败解决方法
2019-04-29
DM365 应用层gpio控制
2019-04-29
linux i2c子系统abc
2019-04-29