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