一、停止数据节点的方法:
向名称节点通知希望停止的节点,使其能在数据节点关闭之前,将数据块复制到其他数据节点中。
二、操作步骤:
1、必须先确认集群是在运行中。并且已经退出的安全模式。安全模式状态的查看:
-bash-3.2$ ./bin/Hadoop dfsadmin -safemode get
Safe mode is OFF
2、首先建立一个slaves.exclude文件(此文件名可随机取).它是一个文本, 里面每行就是想要停掉的主机名或IP地址.这里slaves.exclude应放在 $HADOOP_HOME目录下。
文件内容可如下:
10.12.3.129
这样就表明要把这1台机器给停了.
3、在名称节点(master)上,配置conf/mapred-site.xml文件,增加以下配置项:
<property>
<name>dfs.hosts.exclude</name>
<value>slaves.exclude</value>
</property>
<property>
<name>mapred.hosts.exclude</name>
<value>slaves.exclude</value>
</property>
4、在名称节点上,运行以下命令,更新结点以及hadoop配置:
-bash-3.2$ ./bin/hadoop dfsadmin -refreshNodes
5、状态查看:
1)可以通过 bin/hadoop dfsadmin -report 查看更新信息,内容如下:
Name: 10.12.3.129:50010
Decommission Status : Decommission in progress
Configured Capacity: 3047210987520 (2.77 TB)
DFS Used: 9215509326 (8.58 GB)
Non DFS Used: 162038434994 (150.91 GB)
DFS Remaining: 2875957043200(2.62 TB)
DFS Used%: 0.3%
DFS Remaining%: 94.38%
Last contact: Thu Nov 03 14:55:11 CST 2011
2)可以通过HADOOP WEB(:50070/)查看更新信息;
节点状态有以下同种表示方式:
Normal:正常;
Decommission In Progress:撤消中;
Decommission:已撤消;
3)撤消成功后的节点信息如下:
Name: 10.12.3.129:50010
Decommission Status : Decommissioned
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