Hadoop原理 之 数据完整性
Hadoop的数据完整性,包括两个方面:一是,数据传输的完整性,也就是读写数据的完整性;二是,数据存储的完整性。
受网络不稳定、硬件损坏等因素,在数据传输和数据存储上,难免会出现数据丢失或脏数据,数据传输的量越大,出现错误的概率就越高。hadoop提供了一种“校验和”的机制来检测数据的完整性。
“校验和”的原理是:Hadoop在创建新文件时(也就是说,上传数据到hdfs上时),hadoop会为每一个固定长度的数据(一个个数据包)执行一次“校验和”,“校验和”的值和数据一起保存起来。数据的完整性检测,都是通过“校验和”的比较来完成的。
1、数据传输过程的数据完整性保障:
DataNode在存储客户端上传的数据之前,会先检测数据的“校验和”,没有问题才写入;同样,客户端从DataNode读取数据时也会检测数据的“校验和”,没有问题才写入本地文件系统。
2、存储的block的完整性保障:
DataNode运行着一个后台进程(DataBlockScanner),定期对存储在其上面的block进行检测“检验和”,然后将检测结果向NameNode报告。
小结:NameNode会收到来自“客户端”、DataNode的“检验和”信息,根据这两个信息,综合来维护文件的块存储及向客户端提供块读取服务。
Hadoop处理损坏数据的机制:
1)、客户端在发现坏数据后,会把坏的block和block所在的datanode报告给namenode,然后,删除掉坏的block,再跳过该datanode,重新读取另外的datanode上的block;
2)、NameNode会把这个block标记为“已损坏”,标记为“已损坏”namenode就不会为客户端指向这个block,也不会用这个block去复制到其他datanode;
3)、NameNode会把一个好的block复制到另一个datanode上;
4)、NameNode删除掉坏的block。
Hadoop原理 之 数据完整性相关推荐
- Hadoop 原理和架构
04 | 移动计算比移动数据更划算 那么如何解决 PB 级数据进行计算的问题呢? 这个问题的解决思路其实跟大型网站的分布式架构思路是一样的,采用分布式集群的解决方案,用数千台甚至上万台计算机构建一个大 ...
- Hadoop(十)Hadoop IO之数据完整性
阅读目录(Content) 一.数据完整性概述 二.HDFS的数据完整性 2.1.本地文件上传到HDFS集群时的校验 2.2.HDFS集群文件读取到本地 三.涉及数据一致性的类:LocalFileSy ...
- 分布式计算框架Hadoop原理及架构全解
Hadoop是Apache软件基金会所开发的并行计算框架与分布式文件系统.最核心的模块包括Hadoop Common.HDFS与MapReduce. HDFS HDFS是Hadoop分布式文件系统(H ...
- hadoop原理学习笔记 不含命令
hadoop海量数据实现原理 如何将机器学习与hadoop对接 不考虑安装二次开发运行 数据是机器学习的核心 hadoop框架 谷歌100亿网页 2011年谷歌100万台服务器 双十一购物信息统计机 ...
- Hadoop原理及部署初探
Hadoop Hadoop为何物 Hadoop是一个分布式系统基础架构,由Apache基金会所开发. 用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储. Had ...
- 大数据Hadoop原理学习(HDFS,MAPREDUCE,YARN)
hadoop hadoop中有3个核心组件: 分布式文件系统:HDFS -- 实现将文件分布式存储在很多的服务器上 分布式运算编程框架:MAPREDUCE -- 实现在很多机器上分布式并行运算 分布式 ...
- Hadoop原理与技术——hdfs命令行基本操作
点击链接查看文档 一.实验目的 熟悉hdfs命令行基本操作 二.实验环境 Windows 10 VMware Workstation Pro虚拟机 Hadoop环境 Jdk1.8 三.实验内容 1:h ...
- 【深入理解Hadoop原理】Hadoop 参数配置 详解
Hadoop 参数配置 详解 一.常用端口 组件 节点 默认端口 配置 用途说明 HDFS DataNode 50010 dfs.datanode.address datanode服务端口,用于数据传 ...
- Eclipse上Hadoop插件中Run On Hadoop原理
对run on hadoop终于有个了解了:它不是把jar包发送到hadoop上去运行,而只是使用了hadoop上的hdfs,从hdfs中获取文件,至于执行,是执行你本地的hadoop包来运行你编写的 ...
最新文章
- C#BindingSource的DataSource的注意点
- python画笔初始位置_turtle绘画-移动落笔点(改变初始原点)
- 2017.4.6AM
- 011_学生管理系统二
- php音频添加语音,PHP生成语音
- 鸿蒙系统支持980,鸿蒙手机上线时间 鸿蒙系统支持哪些手机2021最新汇总
- 求字符串的不重复字符的最长子串长度的问题
- 3个简单步骤即可测试Java 8
- 【Java】获取目录及其子目录文件的相关事宜
- 从结构到模块!华为提出最新两步搜索的目标检测SM-NAS
- Introduction to Latent Dirichlet Allocation
- 业界总结 | 如何改进双塔模型,才能更好的提升你的算法效果?
- java计算机毕业设计辅导员班级量化管理系统MyBatis+系统+LW文档+源码+调试部署
- VS+QT多语言实现(中文乱码问题、tr()包含不生成问题)
- 在excel中创建日历
- A045_jQuery案例实战_BootStrap
- echart 的各大国家城市坐标
- sqlmap中的columns哪里看_ROC,AUC 还是看我的吧,别人都千篇一律
- 易语言5.9破解方法
- PaddleSpeech 流式语音识别系统 PP-ASR
热门文章
- 新冠肺炎疫情数据爬取以及几种简单的地图可视化方法
- 众人给诺基亚支招 Android提议何时了?
- 基于AKF可扩展模型的微服务拆分方式
- 前端使用jquery.wordexport.js导出word
- Sikuli异常RunTimeINIT: *** terminating: libs to export not found on above classpath: /sikulixlibs/wind
- HTML5 weui笔记
- 史上最全Maven教程(一)
- 门禁系统远程无线联网解决方案
- 关于列表的“切片”操作
- 零 XML 多表联查