一、前言

   本文基于上篇 http://fire7758.blog.51cto.com/993821/1373790

   本文以添加mt-hadoop-data6为例

二、添加节点操作

   1)集群配置修改(集群中所有服务器)

   更新hosts文件

   在集群中所有服务器上修改/etc/hosts,添加新增datanode的主机名

   sudo vi /etc/hosts,文件末尾增加如下行:

   172.26.10.XXX   mt-hadoop-data6


   更新datanode-allow-list

   在namenode上修改/usr/hadoop/conf/datanode-allow-list,添加新增datanode的主机名

   echo mt-hadoop-data6 >> /usr/hadoop/conf/datanode-allow-list


   更新slaves

   在namenode上修改/usr/hadoop/conf/slaves,添加新增datanode的主机名

   echo mt-hadoop-data6 >> /usr/hadoop/conf/slaves

   

   2)安装新节点

   在mt-hadoop-data6上操作:

   完成上篇第三章第1节 hadoop安装部分的操作(a-g)

   

   3)同步集群配置

   ssh hadoop@mt-hadoop-name1

   sync-datanode-config.sh

   exit

   

   4)启动新datanode节点

   hadoop dfsadmin -refreshNodes

   hadoop-daemon.sh start datanode

   hadoop-daemon.sh start tasktracker

   

   5)验证

   查看datanode报告,是否有新增的节点

   hadoop dfsadmin -report

   网页查看

   http://172.26.10.140:50030

三、撤销节点

   在namenode上操作

   1)更新datanode-deny-list;添加撤销datanode的主机名

   echo mt-hadoop-data6 >> /usr/hadoop/conf/datanode-deny-list

   同步配置

   sync-datanode-config.sh


   2)动态刷新配置

   hadoop dfsadmin -refreshNodes


   3)确认待撤销datanode状态

   hadoop dfsadmin -report

   该datanode的状态为Decommissioned可执行下面操作


   4)更新datanode-allow-list、datanode-deny-list、slaves;删除撤销datanode的主机名

   sed -i '/mt-hadoop-data6/d' /usr/hadoop/conf/datanode-allow-list

   sed -i '/mt-hadoop-data6/d' /usr/hadoop/conf/datanode-dent-list

   sed -i '/mt-hadoop-data6/d' /usr/hadoop/conf/slaves

   sync-datanode-config.sh

   5)动态刷新配置

   hadoop dfsadmin -refreshNodes