假設集群操作系統均為:CentOS 6.7 x64
Hadoop版本為:2.6.3
一、動態增加DataNode
1、准備新的DataNode節點機器,配置SSH互信,可以直接復制已有DataNode中.ssh目錄中的authorized_keys和id_rsa
2、復制Hadoop運行目錄、hdfs目錄及tmp目錄至新的DataNode
3、在新DataNode上啟動hadoop
..sbin/hadoop-daemon.sh start datanode ..sbin/yarn-daemon.sh start datanode
4、在NameNode上刷新節點
..bin/hdfs dfsadmin -refreshNodes ..sbin/start-balancer.sh
5、為方便下次啟動,可以將新DataNode的域名和ip加入/etc/hosts中
二、動態刪除DataNode
1、配置NameNode的hdfs-site.xml,適當減小dfs.replication副本數,增加dfs.hosts.exclude配置
<property> <name>dfs.hosts.exclude</name> <value>/usr/local/hadoop2/etc/hadoop/excludes</value> </property>
2、在對應路徑(/etc/hadoop/)下新建excludes文件,並寫入待刪除DataNode的ip或域名
3、在NameNode上刷新所有DataNode
..bin/hdfs dfsadmin -refreshNodes ..sbin/start-balancer.sh
4、此時,可以在web檢測界面(ip:50070)上可以觀測到DataNode逐漸變為Dead。