HDFS数据完整性解析
来源:互联网 发布:gdi高级编程 pdf 编辑:程序博客网 时间:2024/04/30 09:11
HDFS存储了大量的用户需要的数据,由于每一个磁盘或者是网络上的I/O操作,可能会对正在读写的数据处理导致数据丢失,或者错误。下面两种数据检验方式,以此来保证数据的完整性,而且这两种检验方式在DataNode节点上是同时工作的。
1.校验和
检测损坏数据的常用方法是在第一次进行系统时计算数据的校验和,在通道传输过程中,如果新生成的校验和不完全匹配原始的校验和,那么数据就会被认为是被损坏的。
2.数据块检测程序(DataBlockScanner)
在DataNode节点上开启一个后台线程,来定期验证存储在它上所有块,这个是防止物理介质出现损减情况而造成的数据损坏。
关于校验和,HDFS以透明的方式检验所有写入它的数据,并在默认设置下,会在读取数据时验证校验和。正对数据的每一个校验块,都会创建一个单独的校验和,默认校验块大小是512字节,对应的校验和是4字节。DataNode节点负载在存储数据(当然包括数据的校验和)之前验证它们收到的数据,如果此DataNode节点检测到错误,客户端会收到一个CheckSumException。客户端读取DataNode节点上的数据时,会验证校验和,即将其与DataNode上存储的校验和进行比较。每一个DataNode节点都会维护着一个连续的校验和和验证日志,里面有着每一个Block的最后验证时间。客户端成功验证Block之后,便会告诉DataNode节点,Datanode节点随之更新日志。这一点也就涉及到前面说的DataBlockScanner了,所以接下来我将主要讨论DataBlockScanner。
scanPeriod:一个扫描周期,可以由Datanode的配置文件来设置,配置项是:dfs.datanode.scan.period.hours,单位是小时。
扫描日志保存在DataNode节点的一个存储目录中,并放在current/目录下
- HDFS数据完整性解析
- Hadoop HDFS数据完整性
- HDFS数据完整性设计
- HDFS数据完整性
- HDFS之数据完整性校验
- Hadoop 之 HDFS 的数据完整性
- MapReduce基础:HDFS的数据完整性
- HDFS元数据解析
- hadoop深入研究:(六)——HDFS数据完整性
- hadoop深入研究:(六)——HDFS数据完整性
- hadoop深入研究:(六)——HDFS数据完整性
- 数据完整性
- 数据完整性
- 数据完整性
- 数据完整性
- 数据完整性
- hadoop分析之一HDFS元数据解析
- Hadoop分析之一HDFS元数据解析
- PAT (Advanced Level) 1084. Broken Keyboard (20) 坏键盘,字符串处理
- dialog.setCancelable(true);
- 移动开发-Android-tab效果之Fragment-1
- ios8 UITableViewCell 线条如何设置
- JAVA代码获取月份的第一天跟最后一天
- HDFS数据完整性解析
- iOS中(相册)摄像头获取的图片上传至服务器被自动旋转了
- 爱加密加密Android apk 使用步骤
- atom
- dos 命令——切换盘符与切换工作目录
- 【框架-MFC】MFC 获取Windows特殊路径
- 视频显示
- day01
- 145.Binary Tree Postorder Traversal (二叉树后序遍历)