添加和删除hadoop集群中的节点

1:添加节点

A:新节点中添加账户,设置无密码登陆

B:Name节点中设置到新节点的无密码登陆

C:在Name节点slaves文件中添加新节点

D:在所有节点/etc/hosts文件中增加新节点(所有节点保持一致)

E:在新节点中执行
   
./bin/hadoop-daemon.sh start datanode
./bin/hadoop-daemon.sh start tasktracker

均衡个数据节点中的数据
./bin/start-balancer.sh

注意
   
1)如果不balance,那么cluster会把新的数据都存放在新的node上,这样会降低mapred的工作效率
2)设置平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长
./bin/start-balancer.sh -threshold 5
3)设置balance的带宽,默认只有1M/s
在使用start-balancer.sh时,
默认使用1M/S(1048576)的速度移动数据(so slowly...)
修改hdfs-site.xml配置,这里我们使用的是20m/S
<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>20971520</value>
<description>  Specifies the maximum bandwidth that each datanode can utilize for the balancing purpose in term of the number of bytes per second. </description>
</property>

删除节点

A:修改Name节点的hdfs-site.xml增加
<property>
    <name>dfs.hosts.exclude</name>
    <value>/soft/hadoop/conf/excludes</value>
</property>

B:修改Name节点的mapred-site.xml增加
<property>
   <name>mapred.hosts.exclude</name>
   <value>/soft/hadoop/conf/excludes</value>
   <final>true</final>
</property>

C:新建excludes文件,文件里写要删除节点的hostname

D:Name节点执行

hadoop mradmin –refreshNodes
hadoop dfsadmin –refreshNodes<br>(task进程可以kill进程ID)

查看关闭进程

hadoop dfsadmin -report

当节点处于Decommissioned,表示关闭成功。

注意

1:如果刚删除的节点要再添加到集群要先删除excludes文件,执行 hadoop dfsadmin –refreshNodes

2:节点的状态可以通过http://NameNodes:50070查看

3:如果数据较大则关闭的时间可能会很长

相关推荐