hadoop hdfs DataNode管理

与 NameNode 通信

在这里插入图片描述

  1. dataNode向 nameNode发送注册节点请求

  2. nameNode 将数据写入到元数据存储, 并返回节点注册成功

  3. dataNode 周期性向 nameNode 上报节点数据信息, 保证 nameNode 元数据与 dataNode 节点数据一致

  4. dataNode 每 3 秒向 nameNode 发送心跳, nameNode 返回没有执行命令的确认数据

  5. nameNode 超过 10 分钟没有收到某 dataNode心跳, 认为该节点不可用

    • 时长计算2 * dfs.namenode.heartbeat.recheck-interval + 10 * dfs.heartbeat.interval
    • dfs.namenode.heartbeat.recheck-interval 默认 5 分钟
    • dfs.heartbeat.interval默认3 秒
    • 所以时长是 10min 30s

    hdfs-site.xml

    <property>
        <name>dfs.namenode.heartbeat.recheck-interval</name>
        <value>300000</value>
        <description>单位毫秒</description>
    </property>
    <property>
        <name>dfs.heartbeat.interval</name>
        <value>3</value>
        <description>单位秒</description>
    </property>
    

服役新节点

  1. 准备干净的服务节点, 确认网络正常, 设置 ssh 免密

  2. 配置 hadoop 配置文件,或直接复制现有节点, 配置网络

  3. 直接启动 dataNode 服务

    hadoop-daemon.sh start datanode
    
  4. 启动 nodeManager 服务

    [atguigu@hadoop105 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager
    
  5. 使用命令实现集群的再平衡(再数据不平衡下使用)

    ./start-balancer.sh
    

退役旧节点

  • 添加白名单:添加到白名单的主机节点,都允许访问NameNode,不在白名单的主机节点,都会被退出

    1. 在NameNode的/opt/module/hadoop/etc/hadoop目录下创建dfs.hosts文件

      vi dfs.hosts
      
    2. 添加白名单节点

      hadoop162
      hadoop163
      hadoop164
      
    3. 在 nameNode 节点的 hdfs-site.xml配置启动白名单dfs.hosts

      <property>
      		<name>dfs.hosts</name>
      		<value>/opt/module/hadoop/etc/hadoop/dfs.hosts</value>
      </property>
      
      
    4. 分发同步到所有节点

      xsync hdfs-site.xml
      
    5. 刷新 nameNode

      hdfs dfsadmin -refreshNodes
      
    6. 更新ResourceManager节点

      yarn rmadmin -refreshNodes
      
    7. 使用命令实现集群的再平衡(再数据不平衡下使用)

      ./start-balancer.sh
      
  • 黑名单退役: 在黑名单上面的主机都会被强制退出

    1. 在nameNode的/opt/module/hadoop/etc/hadoop目录下创建dfs.hosts.exclude文件

      vi dfs.hosts.exclude
      
    2. 添加退役节点

      hadoop165
      
    3. 在nameNode的hdfs-site.xml配置文件中增加dfs.hosts.exclude属性

      <property>
      		<name>dfs.hosts.exclude</name>
          <value>/opt/module/hadoop/etc/hadoop/dfs.hosts.exclude</value>
      </property>
      
      
    4. 刷新NameNode、刷新ResourceManager

      hdfs dfsadmin -refreshNodes
      yarn rmadmin -refreshNodes
      
    5. 如果副本数小于等于当前集群节点数, 退役会失败, 需要修改副本数

    6. 在退役节点上, 停止节点服务

      hadoop-daemon.sh stop datanode
      yarn-daemon.sh stop nodemanager
      
    7. 使用命令实现集群的再平衡(再数据不平衡下使用)

      ./start-balancer.sh
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值