zoukankan      html  css  js  c++  java
  • hadoop集群 动态添加或删除节点

    hadoop集群 动态添加或删除节点
     
    在运行中的ambari hadoop集中中动态添加或删除节点
    1. 下线hdfs节点
     
     
    1) 下线datanode
    namenode节点上dfs.exclude文件,看配置文件怎么配置的,里每行添加一个服务器名,如我要下线server7,server8,server9,则如下:
    server7
    server8
     
    备注:
    如果hdfs-site.xml没有找到dfs.hosts.exclude,那么就手动把下面内容加入到hdfs-site.xml中,然后把需要Decommission的机器写到文件/etc/hadoop/conf/dfs.exclude中去。
    <property> <name>dfs.hosts.exclude</name> <value>/etc/hadoop/conf/dfs.exclude</value> </property>
     
    2) 选择任意一台节点执行:
    (如果要加速下线 可以先把集群块的复制个数减少,再执行下线(导致数据迁移))
    hdfs dfsadmin -refreshNodes
     
     
    3) 上面刷新后 可以查看下线进度
    可以通过
    hdfs dfsadmin -report
     
    或者web界面查看该datanode状态转为Decommission In Progress。
     
    下线会把该节点的数据拷贝到其他节点上去
    如果节点上数据比较多,下线会比较慢,等待。
     
    当datanode完成数据迁移时,姿态会变为Decommissioned,继续下面操作
     
     
    4) 这一步:没有试过,不知道真假
    下图状态其实已退役完全(block 转移结束),后续hadoop会自动删除datanode上的数据,也可以直接停掉datanode,手动删除数据
     
     
     
    5)停止已经下线的datanode节点,然后删除该节点(该节点数据已经被迁移到其他节点)
     
    6) 删除dfs.exclude中下线节点的hosts(在配置文件中),重新刷新:
    hdfs dfsadmin -refreshNodes
     
    7)刷新后,确认已经清楚了下线该节点的配置
    在hdfs的管理台页面可以看见 Decommission的节点应该不包含上面已经完成了下线的节点
    hadoop dfsadmin -report:也可以查看
     
     
    7) 删除slaves中下线节点的hosts
     
     
     
    ---------------------------------------------------------------------------------------
    2. 下线yarn节点
     
    1) 下线yarn节点
    resourcemanager节点上yarn.exclude文件里每行添加一个服务器名,如我要下线server7,server8,server9,则如下:
    server7
    server8
     
    备注:下线tasktracker or nodemanager(过程与下线datanode类似,以下列举不同点)
    A、添加(或修改)如下配置项到mapred-site.xml
    1. <property>  
    2.           <name>mapred.hosts.exclude</name>  
    3.           <value>mrhosts.exclude</value>  
    4. </property>  
     
    2) 选择任意一台节点执行:
    (如果要加速下线 可以先把集群块的复制个数减少,再执行下线(导致数据迁移))
    yarn rmadmin -refreshNodes
    yarn node -list #查看
     
     
    3)若没启用yarn,即下线tasktracker时执行:
     
    hadoop mradmin -refreshNodes
    ---------------------------------------------------------------------------------------
     
     
     
     
    4. 上线节点
    上线节点基本与下线相同
    1) slaves文件里每行添加一个上线服务器名,同时保证dfs.exclude文件为空。
     
    2) ./hdfs dfsadmin -refreshNodes
    3) 在要上线的节点上启动datanode:
    ./hadoop-daemon.sh start datanode
    4) 如需要启动nodemanager,则执行:
    ./yarn-daemon.sh start nodemanager
    5) 修改slaves,添加上线节点的hosts
     
     
     
     
     

  • 相关阅读:
    java网络请求工具类
    MySql 日期比较大小
    JAVA泛型整理
    循环list从list中移除数据
    MySql UNION字段
    session理解
    IDEA鼠标悬停提示变量值
    JAVA常用的RPC框架
    字符串查找重复字符最多的
    java List分组
  • 原文地址:https://www.cnblogs.com/double-kill/p/9032895.html
Copyright © 2011-2022 走看看