Hadoop(10)-HDFS的DataNode详解
2024-10-09 01:42:28
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>
最新文章
- SHELL编写NGINX自动部署脚本
- 爬虫requests模块 2
- CSS强制性换行
- ARP (地址解析协议)
- 自学H5第二天
- bootstrap-model-弹出框背景禁止点击
- VS2010调试速度很慢
- ExtJS常用的正则表达式
- Codeforces Round #328 (Div. 2) C. The Big Race 数学.lcm
- [javascript]event属性
- Shiro-授权
- Java基础知识强化37:StringBuffer类之StringBuffer的构造方法
- 安卓仿制新浪微博(一)之OAuth2授权接口
- //获取url中";?";符后的字串
- python学习day19 面向对象(一)封装/多态/继承
- 想入职阿里的Java开发者必看,阿里巴巴面试官实战经验分享!
- Python sendmail
- exec函数族的使用
- 在pycharm中运行nose测试框架
- Enum学习中的compareTo方法分析
热门文章
- 分布式消息队列kafka
- dwr2.0版本的demo
- Hadoop ->;>; HDFS(Hadoop Distributed File System)
- 解决Image在canvas以及audio、video在AudioContext下跨域问题
- JavaScript类型操作以及一些规范
- OpenGL中的数据——Buffer
- C++11新特性之 std::forward(完美转发)
- Error: Error SSL Required Code: 403
- Uva 11468 AC自动机或运算
- [18/11/26] this关键字、static关键字和静态块(及语句块)