DataNode的工作机制

  1. 一个数据块在DataNode以文件的形式在磁盘上保存,分为两个文件,一个是数据本身,
  2. 一个是元数据信息(包括数据的长度,校验和,时间戳)
  3. 1.DataNode启动后,向NameNode进行注册
  4. 2.NameNode返回注册成功
  5. 3.以后按照每周期(1小时)上报所有块信息
  6. 4.心跳每3秒一次,心跳返回带有NameNodeDataNode的命令
  7. 5.超过10分钟+timestamp(可配置)没有接收到心跳包,那么认定该接点不可用

掉线时限参数设置

  1. datanode 进程死亡或者网络故障造成 datanode 无法与 namenode 通信,namenode 不会立
  2. 即把该节点判定为死亡,要经过一段时间,这段时间暂称作超时时长。HDFS 默认的超时时
  3. 长为 10 分钟+30 秒。如果定义超时时间为 timeout,则超时时长的计算公式为:
  4. timeout = 2 * dfs.namenode.heartbeat.recheck-interval + 10 * dfs.heartbeat.interval
  5. 而默认的 dfs.namenode.heartbeat.recheck-interval 大小为 5 分钟,dfs.heartbeat.interval
  6. 认为 3 秒。
  7. 需要注意的是 hdfs-site.xml 配置文件中的 heartbeat.recheck.interval 的单位为毫秒,
  8. dfs.heartbeat.interval 的单位为秒。
  9. <property>
  10. <name>dfs.namenode.heartbeat.recheck-interval</name>
  11. <value>300000</value>
  12. </property>
  13. <property>
  14. <name> dfs.heartbeat.interval </name>
  15. <value>3</value>
  16. </property>

服役新数据节点

在原有集群基础上动态添加新的数据节点

  1. 步骤:
  2. 1)在 namenode 的/opt/module/hadoop-2.7.2/etc/hadoop 目录下创建 dfs.hosts 文件
  3. $ pwd
  4. /opt/module/hadoop-2.7.2/etc/hadoop
  5. $ touch dfs.hosts
  6. $ vi dfs.hosts
  7. 添加主机名称(包含新服役的节点)
  8. 2)在 namenode hdfs-site.xml 配置文件中增加 dfs.hosts 属性
  9. <property>
  10. <name>dfs.hosts</name>
  11. <value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts</value>
  12. </property>
  13. 3)刷新 namenode
  14. $ hdfs dfsadmin -refreshNodes
  15. Refresh nodes successful
  16. 4)更新 resourcemanager 节点
  17. $ yarn rmadmin -refreshNodes
  18. 19/03/24 14:17:11 INFO client.RMProxy: Connecting to ResourceManager athostname/ip:8033
  19. 5)在 namenode slaves 文件中增加新主机名称(不需要分发)
  20. 6)单独命令启动新的数据节点和节点管理器
  21. $ sbin/hadoop-daemon.sh start datanode
  22. $ sbin/yarn-daemon.sh start nodemanager
  23. 7)在 web 浏览器上检查是否 ok
  24. 如果数据不均衡,可以用命令实现集群的再平衡
  25. 102$ ./start-balancer.sh

退役旧节点

  1. 步骤:
  2. 1)在 namenode 的/opt/module/hadoop-2.7.2/etc/hadoop 目录下创建 dfs.hosts.exclude 文件
  3. $ pwd
  4. /opt/module/hadoop-2.7.2/etc/hadoop
  5. $ touch dfs.hosts.exclude
  6. $ vi dfs.hosts.exclude
  7. 添加主机名称(要退役的节点)
  8. 2)在 namenode hdfs-site.xml 配置文件中增加 dfs.hosts.exclude 属性
  9. <property>
  10. <name>dfs.hosts.exclude</name>
  11. <value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts.exclude</value>
  12. </property>
  13. 3)刷新 namenode、刷新 resourcemanager
  14. $ hdfs dfsadmin -refreshNodes
  15. Refresh nodes successful
  16. $ yarn rmadmin -refreshNodes
  17. 4)检查 web 浏览器,退役节点的状态为 decommission in progress(退役中),说明数据节点正在复制块到其他节点
  18. 5)等待退役节点状态为 decommissioned(所有块已经复制完成),停止该节点及节点资源管理器。
  19. 注意:如果副本数是 3,服役的节点小于等于 3,是不能退役成功的,需要修改副本数后才能退役。
  20. 如果失败:
  21. $ sbin/hadoop-daemon.sh stop datanode
  22. $ sbin/yarn-daemon.sh stop nodemanager
  23. 6)从 include 文件中删除退役节点,再运行刷新节点的命令
  24. 1)从 namenode dfs.hosts 文件中删除退役节点
  25. 2)刷新 namenode,刷新 resourcemanager
  26. 7)从 namenode slave 文件中删除退役节点 hadoop105
  27. 8)如果数据不均衡,可以用命令实现集群的再平衡

DataNode多目录配置

DataNode也可以配置成多个目录,每个目录存储的数据不一样。即:数据不是副本

  1. hdfs-site.xml
  2. <property>
  3. <name>dfs.datanode.data.dir</name>
  4. <value>file:///${hadoop.tmp.dir}/dfs/data1,file:///${hadoop.tmp.dir}/dfs/data2</value>
  5. </property>

本博客仅为博主学习总结,感谢各大网络平台的资料。蟹蟹!!

DataNode的工作机制的更多相关文章

  1. Hadoop_10_HDFS 的 DataNode工作机制

    1.DataNode的工作机制: 1.DataNode工作职责:存储管理用户的文件块数据  定期向namenode汇报自身所持有的block信息(通过心跳信息上报) (这点很重要,因为,当集群中发生某 ...

  2. Hadoop的namenode的管理机制,工作机制和datanode的工作原理

    HDFS前言: 1) 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: 2)在大数据系统中作用: 为各类分布式运算框架(如:mapr ...

  3. hdfs namenode/datanode工作机制

    一. namenode工作机制 1. 客户端上传文件时,namenode先检查有没有同名的文件,如果有,则直接返回错误信息.如果没有,则根据要上传文件的大小以及block的大小,算出需要分成几个blo ...

  4. DataNode 工作机制

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_35641192/article/d ...

  5. HDFS中DataNode工作机制

    1.DataNode工作机制 1)一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据(包括数据块的长度,块数据的校验和,以及时间戳). 2)DataNod ...

  6. Hadoop框架:DataNode工作机制详解

    本文源码:GitHub·点这里 || GitEE·点这里 一.工作机制 1.基础描述 DataNode上数据块以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是数据块元数据包括长度.校验.时 ...

  7. Hadoop(五)—— HDFS NameNode、DataNode工作机制

    一.NN与2NN工作机制 NameNode(NN) 1.当HDFS启动时,会加载日志(edits)和镜像文件(fsImage)到内存中. 2-4.当元数据的增删改查请求进来时,NameNode会先将操 ...

  8. 云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

    这一讲主要深入使用HDFS命令行工具操作Hadoop分布式集群,主要是通过实验的配置hdfs-site.xml文件的心跳来测试replication具体的工作和流程. 通过HDFS的心跳来测试repl ...

  9. 1 weekend110的NN元数据管理机制 + NN工作机制 + DN工作原理

    第一天的笔记,是伪分布hadoop集群搭建, 后面是hadoop Ha的分布式集群搭建 第一天,是HDFS的shell操作 NN工作机制 里面是二进制 DN工作原理 上传完了之后,在hdfs的虚拟路径 ...

随机推荐

  1. 星星的模块封装类 IDSStarsScoreView

    1 IDSStarsScoreView 的实现效果     2 类的封装方法:   <声明文件>   // //  IDSStarsScoreView.h //  Near // //  ...

  2. 在windows下的QT编程中的char*,wchar_t*与QString之间的转换(利用reinterpret_cast和_stprintf函数,fromWCharArray从字符数组里读取数据)

    http://blog.csdn.net/yangxiao_0203/article/details/7422660 转自http://hi.baidu.com/zj41342626/blog/ite ...

  3. libjingler-0.6.2在windows和ubuntu 10.04下的编译(Google Talk)

    Libjingle版本:0.6.2 所需的资源:         gtest-1.6.0.zip         http://download.csdn.net/detail/cl_gamer/48 ...

  4. pycharm安装及配置全过程

    首先要准备两个文件,一是pycharm-community,二是python-3.7.2-amd. PyCharm 的下载地址:http://www.jetbrains.com/pycharm/dow ...

  5. SYN2102型 NTP网络时间服务器

    SYN2102型  NTP网络时间服务器   ntp主时钟服务器ntp时钟服务器厂商使用说明视频链接: http://www.syn029.com/h-pd-57-0_310_1_-1.html 请将 ...

  6. dubbo源码分析02:服务引用

    一.何时创建服务引用 引用官方文档的原话,如果将Dubbo托管在Spring-IOC容器下,Dubbo服务引用的时机有两个,第一个是在Spring容器调用ReferenceBean的afterProp ...

  7. Dynamics 365 for sales - Account与Contact之间的关系

    Account :可以理解成客户,可以是公司组织,当然也可以是个人 Contact: 从字面理解为联系人 例如,腾讯公司要买我们公司的软件,他们的主要负责人是IT部门的小马,那么,腾讯要创建成Acco ...

  8. 曹工说Tomcat1:从XML解析说起

    一.前言 第一次被人喊曹工,我相当诧异,那是有点久的事情了,楼主13年校招进华为,14年在东莞出差,给东莞移动的通信设备进行版本更新.他们那边的一个小伙子来接我的时候,这么叫我的,刚听到的时候,心里一 ...

  9. PWN菜鸡入门之栈溢出(1)

    栈溢出 一.基本概念: 函数调用栈情况见链接 基本准备: bss段可执行检测: ​ gef➤ b main Breakpoint at . gef➤ r Starting program: /mnt/ ...

  10. java获取Timestamp类型的当前系统时间

    java获取取得Timestamp类型的当前系统时间 java获取取得Timestamp类型的当前系统时间 格式:2010-11-04 16:19:42 方法1: Timestamp d = new ...