1. 程式人生 > >叢集間動態擴充套件和刪除hdfs的datanode和hbase的regionserver

叢集間動態擴充套件和刪除hdfs的datanode和hbase的regionserver

如果你既要增加節點,又要刪除節點呢,

我推薦的順序是:新增datanode,新增regionserver,停掉regionserver ,停掉datanode。

如果你單獨的增加或者移出呢,順序就是上面拆開的就行啦。

如果你新增機器呢,新增datanode,新增regionserver。

如果你減少機器呢,停掉regionserver ,停掉datanode。

所以演示的話呢,就來個全套,就是新增datanode,新增regionserver,停掉regionserver ,停掉datanode。

一、準備工作

新增的機器,提前安裝好java,ssh免密登入,然後把好的機器上的從節點的安裝包scp過來。

二、新增datanode節點

1。先把$HADOOP_HOME/etc/hadoop/slaves/etc/hosts , 都加上你加上的主機名。
在這裡插入圖片描述

2。 在你本機目錄下,建立dfs.data.dir裡面的value值得目錄,如果這個dfs.data.dir裡面的value值得目錄底下有東西的話,確認沒用,最好刪了,刪了!!!!刪了!!!!,不然一會你會發現,你的clusterId會發生衝突,什麼storageId衝突,block pool 編號不一樣,等等等等。

3。進入bin目錄 執行hadoop-daemon.sh start datanode

4。hdfs dfsadmin -refreshNodes

重新整理一下

5。hdfs dfsadmin -report再檢視是否新增進去了。

6。設定頻寬,配置均衡器balancer,一般不在主節點上執行,以避免影響業務,可以有專門的balancer節點

hdfs dfsadmin -setBalancerBandwidth 1048576 

如果某個datanode的磁盤裡用率比平均水平高出5%,Blocks向其他低於平均水平的datanode中傳送list
start-balancer.sh -threshold 5

7。最後再檢視一下,hdfs dfsadmin -report 完成。

三、新增RegionServer節點

0。把一臺好的節點上的Hbase拷貝過來(配置檔案以配置好的)
1。先把$HBASE_HOME/conf/regionservers/etc/hosts , 都加上你加上的主機名。
2。執行以下命令啟動

hbase-daemon.sh start regionserver 

3。在新的節點上進入hbase shell
然後輸入balance_switch true
過一會,你就會發現regions 已經負載均衡了。

四、hbase刪除regionserver節點

執行命令

graceful_stop.sh regionser(主機名)

然後啟動之後,就會自動讓這個機器上的region分佈到其他機器上去,然後自動下線,我看網上說,還需要像上面一樣,執行一遍balance_switch true,但是我發現,其實那個graceful_stop.sh regionser已經自動幫你均衡了region,所以我們去shell裡執行balance_true,也可。

五、hdfs安全刪除datanode節點

千萬不要直接輸hadoop-daemon.sh stop datanode 這樣可能,可能會導致資料塊的丟失,強烈不建議datanode這樣退役。

然後就是在excludes裡面新增你要退役的節點即可。

整個流程大體如下:

編輯hdfs-site.xml

加入以下選項:

<property>
    <name>dfs.hosts.exclude</name>
    <value>/opt/hadoop/etc/hadoop/excludes</value>
 </property>

然後在這個路徑下面,編輯excludes,在裡面加入你要退役的節點,例如加上這個hadoop-dn-2。

如果你是HA模式的話,兩個NN都要加,一定要兩個NN都加哦~

然後輸入hdfs dfsadmin -refreshNodes (記住,不用重啟,不用重啟服務,也別關掉datanode !!!)

這樣你就會登陸主節點的50070埠,你會發現有一個節點的狀態是Decommissioned in Process 這是後你

就靜靜地看著他會往不均衡的節點傳輸Block塊,等傳輸好了後,你就會發現狀態變更為Decommissioned

這時候你就可以安全下線datanode即可。

在這裡插入圖片描述

這樣就可以啦,然後你就刪除了。

最後,再次提醒順序。新增datanode,新增regionserver,停掉regionserver ,停掉datanode。切記切記,年輕人們!!!!!