hadoop集群委任和解除节点

Hadoop集群经常需要添加节点或者从集群中移出故障节点。

委任新datanode

向集群添加datanode,需要通过hdfs的hdfs-site.xml的配置参数dfs.hosts来实现,然后启动datanode进程。

将源集群的配置文件拷贝至新节点待用。

在配置文件路径/opt/module/hadoop-2.6.0/etc/hadoop添加include.txt文件

# cat include.txt 
node4
master

在hdfs-site.xml中添加配置

<property>
<name>dfs.hosts</name>
<value>/opt/module/hadoop-2.6.0/etc/hadoop/include.txt</value>
</property>

在namenode上刷新节点信息

$ hdfs dfsadmin -refreshNodes

修改slaves文件,添加新节点主机名

$ cat slaves 
node1
node2
node3
node4
master

启动新节点datanode

$ hadoop-daemon.sh start datanode

通过web查看

解除节点

解除节点是通过dfs的hdfs-site.xml的配置参数dfs.hosts.exclude来实现,然后删除slaves文件中对应节点。

添加待解除节点ip或主机名到exclude.txt文件中,不改include.txt文件

$ cat /opt/module/hadoop-2.6.0/etc/hadoop/exclude.txt 
node4

在hdfs-site.xml中添加配置

<property>
<name>dfs.hosts.exclude</name>
<value>/opt/module/hadoop-2.6.0/etc/hadoop/exclude.txt</value>
</property>

在namenode上刷新节点信息

$ hdfs dfsadmin -refreshNodes

在web中查看,此时待解除的datanode会把持有的块复制到其他datanode

 删除include.txt中的解除节点

$ cat include.txt 
master

刷新节点信息

$ hdfs dfsadmin -refreshNodes

在web中查看

 删除slaves文件中的解除节点

$ cat slaves 
node1
node2
node3
master

如果一个datanode节点同时出现在include和exclude文件中,那么会按照如下的规则决定是否可用:

是否出现在include文件 是否出现在exclude文件 解释
节点无法连接
节点无法连接
节点可连接
节点可连接,将被解除
原文地址:https://www.cnblogs.com/zh-dream/p/12444758.html