動態的新增和刪除hadoop叢集中的節點
一:新增節點
A:新節點中新增賬戶,設定無密碼登陸
B:Name節點中設定到新節點的無密碼登陸
ssh-copy-id slave4
C:在Name節點slaves檔案中新增新節點
D:在所有節點/etc/hosts檔案中增加新節點(所有節點保持一致)
----------------------------- E:啟動datanode程序,在新節點中執行--在hadoop安裝目錄下輸入 sbin/hadoop-daemon.sh start datanode
直接重新整理web介面,可以看到節點已經在上面了
2.啟動nodemanager程序 在hadoop安裝目錄下輸入 sbin/yarn-daemon.sh start nodemanager
3.均衡block sbin/start-balancer.sh
1)如果不balance,那麼cluster會把新的資料都存放在新的node上,這樣會降低mapred的工作效率 2)設定平衡閾值,預設是10%,值越低各節點越平衡,但消耗時間也更長 sbin/start-balancer.sh -threshold 5 3)設定balance的頻寬,預設只有1M/s 通過下面的命令也可以設定平衡時使用的網路頻寬(位元組/秒)
4.配置寬頻
開啟hdfs-site.xml,設定節點平衡頻寬設定(預設值1M,下面設定為10M)
<property>
<name>dfs.datanode.balance.bandwidthPerSec</name>
<value>20971520</value>
</property>
在NameNode執行 hadoop dfsadmin -report 檢視存活的節點
二、刪除節點
A:修改Name節點的hdfs-site.xml增加,設定節點排除檔案的位置(必須是絕對路徑)
<property> <name>dfs.hosts.exclude</name> <value>/soft/hadoop/conf/excludes</value> </property>
C:新建excludes檔案,檔案裡寫要刪除節點的hostname
在excludes檔案中新增要排除的節點主機名,一行一個
D:Name節點執行
hadoop dfsadmin –refreshNodes
等狀態變成Decommissioned後就可以關閉這個節點了,
可在要移除的節點上執行相應的關閉命令,如:
hadoop-daemon.sh stop datanode
幾分鐘後,節點將從Decommissioned進入Dead狀態(時間經過大約500多秒)。
也可以在NameNode上檢視關閉程序
hadoop dfsadmin -report
------------注意
1:如果剛刪除的節點要再新增到叢集要先刪除excludes檔案,執行 hadoop dfsadmin –refreshNodes 2:節點的狀態可以通過http://NameNodes:50070檢視 3:如果資料較大則關閉的時間可能會很長