1.修改host 和普通的datanode同樣。添加namenode的ip node
2.修改namenode的配置文件conf/slaves 添加新增節點的ip或host 安全
3.在新節點的機器上,啓動服務 oop
[root@slave-004 hadoop]# ./bin/hadoop-daemon.sh start datanode [root@slave-004 hadoop]# ./bin/hadoop-daemon.sh start tasktracker
4.均衡block this
[root@slave-004 hadoop]# ./bin/start-balancer.sh
1)若是不balance,那麼cluster會把新的數據都存放在新的node上,這樣會下降mapred的工做效率 2)設置平衡閾值,默認是10%,值越低各節點越平衡,但消耗時間也更長 spa
[root@slave-004 hadoop]# ./bin/start-balancer.sh -threshold 5
3)設置balance的帶寬,默認只有1M/scode
1 <property> 2 <name>dfs.balance.bandwidthPerSec</name> 3 <value>1048576</value> 4 <description> 5 Specifies the maximum amount of bandwidth that each datanode 6 can utilize for the balancing purpose in term of 7 the number of bytes per second. 8 </description> 9 </property>
注意: xml
1. 必須確保slave的firewall已關閉; blog
2. 確保新的slave的ip已經添加到master及其餘slaves的/etc/hosts中,反之也要將master及其餘slave的ip添加到新的slave的/etc/hosts中進程
1.集羣配置 修改conf/hdfs-site.xml文件ip
<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依然存在,須要手工處理一下.