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原理 之 数据完整性相关推荐

  1. Hadoop 原理和架构

    04 | 移动计算比移动数据更划算 那么如何解决 PB 级数据进行计算的问题呢? 这个问题的解决思路其实跟大型网站的分布式架构思路是一样的,采用分布式集群的解决方案,用数千台甚至上万台计算机构建一个大 ...

  2. Hadoop(十)Hadoop IO之数据完整性

    阅读目录(Content) 一.数据完整性概述 二.HDFS的数据完整性 2.1.本地文件上传到HDFS集群时的校验 2.2.HDFS集群文件读取到本地 三.涉及数据一致性的类:LocalFileSy ...

  3. 分布式计算框架Hadoop原理及架构全解

    Hadoop是Apache软件基金会所开发的并行计算框架与分布式文件系统.最核心的模块包括Hadoop Common.HDFS与MapReduce. HDFS HDFS是Hadoop分布式文件系统(H ...

  4. hadoop原理学习笔记 不含命令

    hadoop海量数据实现原理 如何将机器学习与hadoop对接 不考虑安装二次开发运行 数据是机器学习的核心 hadoop框架 谷歌100亿网页 2011年谷歌100万台服务器 双十一购物信息统计机 ...

  5. Hadoop原理及部署初探

    Hadoop Hadoop为何物 Hadoop是一个分布式系统基础架构,由Apache基金会所开发. 用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储. Had ...

  6. 大数据Hadoop原理学习(HDFS,MAPREDUCE,YARN)

    hadoop hadoop中有3个核心组件: 分布式文件系统:HDFS -- 实现将文件分布式存储在很多的服务器上 分布式运算编程框架:MAPREDUCE -- 实现在很多机器上分布式并行运算 分布式 ...

  7. Hadoop原理与技术——hdfs命令行基本操作

    点击链接查看文档 一.实验目的 熟悉hdfs命令行基本操作 二.实验环境 Windows 10 VMware Workstation Pro虚拟机 Hadoop环境 Jdk1.8 三.实验内容 1:h ...

  8. 【深入理解Hadoop原理】Hadoop 参数配置 详解

    Hadoop 参数配置 详解 一.常用端口 组件 节点 默认端口 配置 用途说明 HDFS DataNode 50010 dfs.datanode.address datanode服务端口,用于数据传 ...

  9. Eclipse上Hadoop插件中Run On Hadoop原理

    对run on hadoop终于有个了解了:它不是把jar包发送到hadoop上去运行,而只是使用了hadoop上的hdfs,从hdfs中获取文件,至于执行,是执行你本地的hadoop包来运行你编写的 ...

最新文章

  1. C#BindingSource的DataSource的注意点
  2. python画笔初始位置_turtle绘画-移动落笔点(改变初始原点)
  3. 2017.4.6AM
  4. 011_学生管理系统二
  5. php音频添加语音,PHP生成语音
  6. 鸿蒙系统支持980,鸿蒙手机上线时间 鸿蒙系统支持哪些手机2021最新汇总
  7. 求字符串的不重复字符的最长子串长度的问题
  8. 3个简单步骤即可测试Java 8
  9. 【Java】获取目录及其子目录文件的相关事宜
  10. 从结构到模块!华为提出最新两步搜索的目标检测SM-NAS
  11. Introduction to Latent Dirichlet Allocation
  12. 业界总结 | 如何改进双塔模型,才能更好的提升你的算法效果?
  13. java计算机毕业设计辅导员班级量化管理系统MyBatis+系统+LW文档+源码+调试部署
  14. VS+QT多语言实现(中文乱码问题、tr()包含不生成问题)
  15. 在excel中创建日历
  16. A045_jQuery案例实战_BootStrap
  17. echart 的各大国家城市坐标
  18. sqlmap中的columns哪里看_ROC,AUC 还是看我的吧,别人都千篇一律
  19. 易语言5.9破解方法
  20. PaddleSpeech 流式语音识别系统 PP-ASR

热门文章

  1. 新冠肺炎疫情数据爬取以及几种简单的地图可视化方法
  2. 众人给诺基亚支招 Android提议何时了?
  3. 基于AKF可扩展模型的微服务拆分方式
  4. 前端使用jquery.wordexport.js导出word
  5. Sikuli异常RunTimeINIT: *** terminating: libs to export not found on above classpath: /sikulixlibs/wind
  6. HTML5 weui笔记
  7. 史上最全Maven教程(一)
  8. 门禁系统远程无线联网解决方案
  9. 关于列表的“切片”操作
  10. 零 XML 多表联查