hadoop集群增加/刪除節點
hadoop要發到每個節點的配置文件,只有core-site.xml mapred-site.xml hdfs-site.xml
添加節點
1.修改host
和普通的datanode一樣。添加namenode的ip
2.修改namenode的配置文件conf/slaves
添加新增節點的ip或host
3.在新節點的機器上,啟動服務
[root@slave-004 hadoop]# ./bin/hadoop-daemon.sh start datanode [root@slave-004 hadoop]# ./bin/hadoop-daemon.sh start tasktracker
4.均衡block
[root@slave-004 hadoop]# ./bin/start-balancer.sh
1) 如果不balance,那么cluster會把新的數據都存放在新的node上,這樣會降低mapred的工作效率
2) 設置平衡閾值,默認是10%,值越低各節點越平衡,但消耗時間也更長
[root@slave-004 hadoop]# ./bin/start-balancer.sh -threshold 5
3) 設置balance的帶寬,默認只有1M/s
<property> <name>dfs.balance.bandwidthPerSec</name> <value>1048576</value> <description> Specifies the maximum amount of bandwidth that each datanode can utilize for the balancing purpose in term of the number of bytes per second. </description> </property>
注意:
1. 必須確保slave的firewall已關閉;
2. 確保新的slave的ip已經添加到master及其他slaves的/etc/hosts中,反之也要將master及其他slave的ip添加到新的slave的/etc/hosts中
刪除節點
1.集群配置
修改conf/hdfs-site.xml文件
<property> <name>dfs.hosts.exclude</name> <value>/data/soft/hadoop/conf/excludes</value> <description>Names a file that contains a list of hosts that are not permitted to connect to the namenode. The full pathname of the file must be specified. If the value is empty, no hosts are excluded.</description> </property>
2.確定要下架的機器
dfs.hosts.exclude定義的文件內容為,每個需要下線的機器,一行一個。這個將阻止他們去連接Namenode。如:
slave-003 slave-004
3.強制重新加載配置
[root@master hadoop]# ./bin/hadoop dfsadmin -refreshNodes
它會在后臺進行Block塊的移動
4.關閉節點
等待剛剛的操作結束后,需要下架的機器就可以安全的關閉了。
[root@master hadoop]# ./bin/ hadoop dfsadmin -report
可以查看到現在集群上連接的節點
正在執行Decommission,會顯示: Decommission Status : Decommission in progress 執行完畢后,會顯示: Decommission Status : Decommissioned
5.再次編輯excludes文件
一旦完成了機器下架,它們就可以從excludes文件移除了
登錄要下架的機器,會發現DataNode進程沒有了,但是TaskTracker依然存在,需要手工處理一下
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!