hadoop重用Decommission状态的数据节点

一、背景
本篇主要针对Decommission状态的数据节点重用的处理方法。
如果是完全新增一个服务器作为新增节点,可参考本博客:http://szjian.iteye.com/admin/blogs/1221163

二、操作
1、在$HADOOP_HOME目录下,新建一个slaves.include文件(此文件名可随机取).它是一个文本, 里面每行就是想要使用的主机名或IP地址。
文件内容可如下:
10.12.3.124
10.12.3.125
10.12.3.127
10.12.3.128 
10.12.3.129
这样就表明想要使用的数据节点有以上五台服务器,其中10.12.3.129是状态为Decommission的数据节点。

2、在名称节点(master)上,配置conf/mapred-site.xml文件,增加以下配置项:
<property>
  <name>dfs.hosts</name>
  <value>slaves.include</value>
</property>
<property>
  <name>mapred.hosts</name>
  <value>slaves.include</value>
</property>

3、在名称节点上,运行以下命令,更新结点以及hadoop配置:
-bash-3.2$ ./bin/hadoop dfsadmin -refreshNodes

4、到状态为Decommission的数据节点服务器,启动对应用datanode和tasktracker进程,命令如下:
./bin/hadoop-daemon.sh start datanode
./bin/hadoop-daemon.sh start tasktracker

5、状态查看:
1)可以通过 bin/hadoop dfsadmin -report 查看更新信息,内容如下:
Name: 10.12.3.129:50010
Decommission Status : Normal
Configured Capacity: 0 (0 KB)
DFS Used: 0 (0 KB)
Non DFS Used: 0 (0 KB)
DFS Remaining: 0(0 KB)
DFS Used%: 100%
DFS Remaining%: 0%
Last contact: Thu Jan 01 08:00:00 CST 1970

2)可以通过HADOOP WEB(http://masterIP:50070/)查看更新信息;

6、进行block块的均衡
在hdfs-site.xml中增加设置balance的带宽,默认只有1M:
<property>
    <name>dfs.balance.bandwidthPerSec</name>
    <value>10485760</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>

运行以下命令:
/opt/sohuhadoop/hadoop/bin/start-balancer.sh -threshold 5

你可能感兴趣的:(hadoop,datanode,decommission)