用戶可以根據業務需求量,通過簡單的縮減Core節點或者Task節點,對集群進行縮容,以使MRS擁有更優的存儲、計算能力,降低運維成本。
當集群正在進行主備同步操作時,不允許進行縮容操作。
說明MRS包周期集群暫不支持縮容,當前僅支持MRS按需集群按指定數量進行縮容。
背景信息
目前支持縮容Core節點和Task節點,不支持縮容Master節點。對集群進行縮容時,只需要在界面調整節點個數,MRS會自動選擇縮容節點,完成縮容任務。
自動選擇縮容節點的策略如下:
- 不允許縮容安裝了基礎組件(Zookeeper,DBService,KrbServer,LdapServer等)的節點,MRS不會選擇這些節點進行縮容。因為這些基礎組件是集群運行的基礎。
- Core節點是存放集群業務數據的節點,在縮容時必須保證待縮容節點上的數據被完整遷移到其他節點,即完成各個組件的退服之后,才會執行縮容的后續操作(節點退出Manager和刪除ECS等)。在選擇Core節點時,會優先選擇存儲數據量較小,且可退服實例健康狀態良好的節點,避免節點退服失敗。例如在分析集群上,Core節點安裝了DataNode,縮容時會優先選擇DataNode存儲數據量較小且健康狀態良好的節點。
Core節點在縮容的時候,會對原節點上的數據進行遷移。業務上如果對數據位置做了緩存,客戶端自動刷新位置信息可能會影響時延。縮容節點可能會影響部分HBase on HDFS數據的第一次訪問響應時長,可以重啟HBase或者對相關的表Disable/Enable來避免。
- Task節點本身不存儲集群數據,屬于計算節點,不存在節點數據遷移的問題。因此在選擇Task節點時,優先選擇健康狀態為故障、未知、亞健康的節點進行縮容。這些節點實例的健康狀態信息可以在MRS上的“實例”管理界面查看。
縮容校驗策略
縮容節點選擇完成后,為了避免組件退服失敗,不同組件提供了不同的退服約束規則,只有滿足了所有安裝組件的退服約束規則才允許縮容。縮容校驗策略如下表所示。
組件退服約束規則
組件名稱 退服約束規則 HDFS/DataNode
規則:縮容后節點數不小于當前HDFS的副本數且HDFS數據總量不超過縮容后HDFS集群總容量的80%,可以執行縮容操作。
原因:確保縮容后剩余空間足夠存放現有數據,并預留一部分空間。
說明
為了保證數據的可靠性,HDFS中每保存一個文件則自動生成1個備份文件,即默認共2個副本。
HBase/RegionServer
規則:除縮容節點外,其他節點RegionServer剩余可用內存的總和,大于所選縮容節點RegionServer當前使用內存的1.2倍。
原因:當一個節點退服時,這個節點上的Region會遷移到其他節點,所以其他節點的可用內存必須足夠才能負擔起退服節點的Region。
Storm/ Supervisor
規則:縮容后集群slot數足夠運行當前已提交的任務。
原因:防止縮容后沒有充足的資源運行流處理任務。
Flume/FlumeServer
規則:節點安裝了FlumeServer,并且已經配置了Flume任務,則該節點不能刪除。
原因:防止誤刪了已部署的業務程序。
指定數量縮容
1.登錄MRS管理控制臺。
2.選擇“集群列表 > 現有集群”,選中一個運行中的集群并單擊集群名稱,進入集群信息頁面。
3.選擇“節點管理”頁簽,在需要縮容的節點組的“操作”列,單擊“縮容”,進入縮容集群頁面。
只有運行中的集群且集群中的節點都在運行中才能進行該操作。
4.設置“縮容節點數量”,并單擊“確定”。

說明縮容集群前需要檢查集群安全組是否配置正確,要確保集群入方向安全組規則中有一條全部協議,全部端口,源地址為可信任的IP訪問范圍的規則。
若HDFS存在損壞的數據塊,則縮容集群可能出現失敗,請聯系支持人員處理。
5.頁面右上角彈出縮容節點提交成功提示框。
集群縮容過程說明如下:
- 縮容中:集群正在縮容時集群狀態為“縮容中”。已提交的作業會繼續執行,也可以提交新的作業,但不允許繼續縮容和刪除集群,也不建議重啟集群和修改集群配置。
- 縮容成功:集群縮容成功后集群狀態為“運行中”。
- 縮容失敗:集群縮容失敗時集群狀態為“運行中”。用戶可以執行作業,也可以重新進行縮容操作。
縮容成功后,可以在集群詳情的“節點管理”頁簽查看集群的節點信息。