2021-03-07 分类: 网站建设
读数据
写数据
网络故障,脏数据如何解决?
DataNode 失效等问题,这些问题 HDFS 在设计的时候都早已考虑到了。下面来介绍一下数据损坏处理流程:
读写过程,数据完整性如何保持?
通过校验和。因为每个chunk中都有一个校验位,一个个chunk构成packet,一个个packet最终形成block,故可在block上求校验和。
HDFS 的client端即实现了对 HDFS 文件内容的校验和 (checksum) 检查。当客户端创建一个新的HDFS文件时候,分块后会计算这个文件每个数据块的校验和,此校验和会以一个隐藏文件形式保存在同一个 HDFS 命名空间下。当client端从HDFS中读取文件内容后,它会检查分块时候计算出的校验和(隐藏文件里)和读取到的文件块中校验和是否匹配,如果不匹配,客户端可以选择从其他 Datanode 获取该数据块的副本。
HDFS中文件块目录结构具体格式如下:
- ${dfs.datanode.data.dir}/
- ├── current
- │ ├── BP-526805057-127.0.0.1-1411980876842
- │ │ └── current
- │ │ ├── VERSION
- │ │ ├── finalized
- │ │ │ ├── blk_1073741825
- │ │ │ ├── blk_1073741825_1001.meta
- │ │ │ ├── blk_1073741826
- │ │ │ └── blk_1073741826_1002.meta
- │ │ └── rbw
- │ └── VERSION
- └── in_use.lock
in_use.lock表示DataNode正在对文件夹进行操作
rbw是“replica being written”的意思,该目录用于存储用户当前正在写入的数据。
Block元数据文件(*.meta)由一个包含版本、类型信息的头文件和一系列校验值组成。校验和也正是存在其中。
当前文章:大数据HDFS读写数据的过程探究
文章分享:/news32/104632.html
成都网站建设公司_创新互联,为您提供标签优化、关键词优化、自适应网站、虚拟主机、网站营销、网站制作
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联
猜你还喜欢下面的内容