Hadoop 动态增删节点

然后在新节点上运行

./hadoop-daemon.sh start datanode

./hadoop-daemon.sh start tasktracker

然后在namenode上运行hadoop balance

(在数据平衡的时候,注意传输块大少的选择)

删除节点(整个过程要把数据的录入和删除任务停止):

1. 把需要删除的节点填入一个文件 echo "192.168.239.71" > /data/hadoop-0.20.2/conf/excludes

2. 在主节点的core-site.xml配置文件中添加如下内容:

<property>

<name>dfs.hosts.exclude</name>

<value>/data/hadoop-0.20.2/conf/excludes</value>

</property>

说明

dfs.hosts.exclude:指要删除的节点

/data/hadoop-0.20.2/conf/excludes:指定要被删除文件所在路径及名称,该处定义为excludes

3. 运行命令使其生效

hadoop dfsadmin -refreshNodes

该命令可以动态刷新dfs.hosts和dfs.hosts.exclude配置,无需重启NameNode。节点删除后,节点的tasktracker还是在运行中,需手动删除。

./hadoop-daemon.sh stop datanode

hadoop dfsadmin -report查看结果,如下

Name: 192.168.239.71: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

如果Status为 Decommissione in process则表现数据还在平衡,这时候请不要运行数据录入或剔除机器。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pswdz.html