1.DataNode工作机制

1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。

2)DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。

3)心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用。

4)集群运行中可以安全加入和退出一些机器

2 数据完整性

如果电脑磁盘里面存储的数据是控制高铁信号灯的红灯信号(1)和绿灯信号(0),但是存储该数据的磁盘坏了,一直显示是绿灯,是否很危险?

同理DataNode节点上的数据损坏了,却没有发现,是否也很危险,那么如何解决呢?

如下是DataNode节点保证数据完整性的方法。

1)当DataNode读取Block的时候,它会计算CheckSum。

2)如果计算后的CheckSum,与Block创建时值不一样,说明Block已经损坏。

3)Client读取其他DataNode上的Block。

4)DataNode在其文件创建后周期验证CheckSum

DataNode的校验法用的是crc校验,感兴趣的同学可以百度一下~

3.DataNode掉线时限

需要注意的是hdfs-site.xml 配置文件中的heartbeat.recheck.interval的单位为毫秒,dfs.heartbeat.interval的单位为秒。

<property>
<name>dfs.namenode.heartbeat.recheck-interval</name>
<value>300000</value>
</property> <property>
<name>dfs.heartbeat.interval</name>
<value>3</value>
</property>

最新文章

  1. SHELL编写NGINX自动部署脚本
  2. 爬虫requests模块 2
  3. CSS强制性换行
  4. ARP (地址解析协议)
  5. 自学H5第二天
  6. bootstrap-model-弹出框背景禁止点击
  7. VS2010调试速度很慢
  8. ExtJS常用的正则表达式
  9. Codeforces Round #328 (Div. 2) C. The Big Race 数学.lcm
  10. [javascript]event属性
  11. Shiro-授权
  12. Java基础知识强化37:StringBuffer类之StringBuffer的构造方法
  13. 安卓仿制新浪微博(一)之OAuth2授权接口
  14. //获取url中&quot;?&quot;符后的字串
  15. python学习day19 面向对象(一)封装/多态/继承
  16. 想入职阿里的Java开发者必看,阿里巴巴面试官实战经验分享!
  17. Python sendmail
  18. exec函数族的使用
  19. 在pycharm中运行nose测试框架
  20. Enum学习中的compareTo方法分析

热门文章

  1. 分布式消息队列kafka
  2. dwr2.0版本的demo
  3. Hadoop -&gt;&gt; HDFS(Hadoop Distributed File System)
  4. 解决Image在canvas以及audio、video在AudioContext下跨域问题
  5. JavaScript类型操作以及一些规范
  6. OpenGL中的数据——Buffer
  7. C++11新特性之 std::forward(完美转发)
  8. Error: Error SSL Required Code: 403
  9. Uva 11468 AC自动机或运算
  10. [18/11/26] this关键字、static关键字和静态块(及语句块)