hadoop集群 動態添加或刪除節點
在運行中的ambari hadoop集中中動態添加或刪除節點
1. 下線hdfs節點
1) 下線datanode
namenode節點上dfs.exclude文件,看配置文件怎么配置的,里每行添加一個服務器名,如我要下線server7,server8,server9,則如下:
server7
server8
備注:
如果hdfs-site.xml沒有找到dfs.hosts.exclude,那么就手動把下面內容加入到hdfs-site.xml中,然后把需要Decommission的機器寫到文件/etc/hadoop/conf/dfs.exclude中去。
<property> <name>dfs.hosts.exclude</name> <value>/etc/hadoop/conf/dfs.exclude</value> </property>
2) 選擇任意一台節點執行:
(如果要加速下線 可以先把集群塊的復制個數減少,再執行下線(導致數據遷移))
hdfs dfsadmin -refreshNodes
3) 上面刷新后 可以查看下線進度
可以通過
hdfs dfsadmin -report
或者web界面查看該datanode狀態轉為Decommission In Progress。
下線會把該節點的數據拷貝到其他節點上去
如果節點上數據比較多,下線會比較慢,等待。
當datanode完成數據遷移時,姿態會變為Decommissioned,繼續下面操作
4) 這一步:沒有試過,不知道真假
下圖狀態其實已退役完全(block 轉移結束),后續hadoop會自動刪除datanode上的數據,也可以直接停掉datanode,手動刪除數據

5)停止已經下線的datanode節點,然后刪除該節點(該節點數據已經被遷移到其他節點)
6) 刪除dfs.exclude中下線節點的hosts(在配置文件中),重新刷新:
hdfs dfsadmin -refreshNodes
7)刷新后,確認已經清楚了下線該節點的配置
在hdfs的管理台頁面可以看見 Decommission的節點應該不包含上面已經完成了下線的節點
hadoop dfsadmin -report:也可以查看
7) 刪除slaves中下線節點的hosts
---------------------------------------------------------------------------------------
2. 下線yarn節點
1) 下線yarn節點
resourcemanager節點上yarn.exclude文件里每行添加一個服務器名,如我要下線server7,server8,server9,則如下:
server7
server8
備注:下線tasktracker or nodemanager(過程與下線datanode類似,以下列舉不同點)
A、添加(或修改)如下配置項到mapred-site.xml
- <property>
- <name>mapred.hosts.exclude</name>
- <value>mrhosts.exclude</value>
- </property>
2) 選擇任意一台節點執行:
(如果要加速下線 可以先把集群塊的復制個數減少,再執行下線(導致數據遷移))
yarn rmadmin -refreshNodes
yarn node -list #查看
3)若沒啟用yarn,即下線tasktracker時執行:
hadoop mradmin -refreshNodes
---------------------------------------------------------------------------------------
4. 上線節點
上線節點基本與下線相同
1) slaves文件里每行添加一個上線服務器名,同時保證dfs.exclude文件為空。
2) ./hdfs dfsadmin -refreshNodes
3) 在要上線的節點上啟動datanode:
./hadoop-daemon.sh start datanode
4) 如需要啟動nodemanager,則執行:
./yarn-daemon.sh start nodemanager
5) 修改slaves,添加上線節點的hosts