集群縮容
更新時間 2024-12-06 20:31:30
最近更新時間: 2024-12-06 20:31:30
分享文章
本章節主要介紹集群縮容。
當用戶需要的計算或者存儲資源超出業務需求時,可在管理控制臺對已有集群進行縮容操作,以便充分利用DWS提供的計算資源和存儲資源。
縮容對系統的影響
- 縮容前,需關閉創建了臨時表的客戶端連接,因為在縮容過程中及縮容成功之前創建的臨時表將會失效,操作臨時表也會失敗。但是縮容后創建的臨時表不受影響。
- 在執行縮容操作后,集群會進行一次自動快照,快照創建成功后進行集群縮容,若用戶不想自動創建快照,可以在縮容界面選擇取消自動備份功能。
- 縮容前,需確保傾斜率不超過10%,臟頁率沒有硬性指標,但對于50G以上的大表,建議傾斜率不要超過20%~30%。
- 正在縮容的集群禁用重啟集群、擴容集群、創建快照、節點管理、智能運維、資源管理、參數修改、安全設置、日志服務、重置數據庫管理員密碼和刪除集群的功能。
- 離線縮容過程中,應該停止所有業務或運行少量查詢語句。表重分布期間會對表加共享鎖,所有插入、更新、刪除操作和表DDL操作都會長時間阻塞,會出現等鎖超時情況。一旦表重分布完成后方可正常訪問。在重分布執行過程中,應當避免執行超過20分鐘的查詢(在重分布執行時申請寫鎖的默認時間為20分鐘)。否則可能導致重分布出現等待加鎖超時失敗的問題。
- 在線縮容過程中,表重分布期間用戶可以對該表執行插入、更新、刪除等操作,但重分布過程仍然會短時間阻塞用戶的數據更新操作,會影響用戶語句的執行性能。縮容重分布過程會消耗大量的CPU和IO資源,因此會對用戶作業性能影響較大,應該盡可能在停止業務或業務輕載的情況下執行縮容重分布。
- 在線縮容刪除節點的瞬間,如果有DDL語句正在執行,例如創建schema或function并發執行,這些DDL可能因為DN不存在而報錯,用戶重試即可成功。
- 如果集群縮容失敗,數據庫不會在后臺自動執行縮容回滾操作,此時數據庫所有運維操作不可用,需要用戶在管理控制臺頁面上單擊縮容按鈕來重新執行數據庫縮容操作。
前提條件
- 集群狀態需為可用狀態,不支持只讀狀態,并且確保集群沒有進行重分布操作。
- 集群配置文件已經生成,配置的信息正確并且和當前集群狀態一致。
- 縮容前用戶需要確保default_storage_nodegroup參數值為installation。
- 集群按照環的方式配置,比如4個或5個主機組成一個環,這些主機上的DN主節點、備節點和從節點都部署在這個環里, 縮容的最小單元是一個環。如果當前集群只有一個集群環時,不支持進行縮容操作,縮容按鈕置灰。
- 縮容的主機不能包含ETCD組件、GTM組件、CM Server組件。
- 縮容不支持包括CN的節點,如果包括CN,先進行刪除CN操作后再縮容。
- 縮容不支持回滾,支持重入。縮容數據重分布失敗,不影響業務,用戶可選擇合適的時間盡快完成重分布,否則會導致數據長期分布不均勻。
- 重分布前,需要保證對應數據庫下的data_redis為重分布預留schema,不允許用戶操作該schema和其內部表。因為在重分布過程中,會使用到data_redis并且重分布。結束后會刪除該schema,如果存在用戶表,則可能會出現數據誤刪。
- 縮容過程不支持gs_cgroup操作。
- 縮容后的節點必須有足夠的存儲空間存放整個集群的數據,否則縮容無法正常進行,執行縮容前,需對集群剩余容量進行檢查,條件滿足后可進行縮容。
- 所有節點已使用物理磁盤空間均小于80%。
- 所有用戶和角色的使用量均小于配額的80%。
- 總數據量縮容后的空間預估要小于80%。
- 所有剩余可用空間均是最大單表大小的1.5倍以上。
- 縮容過程中系統將關閉“自動剔除故障CN”功能,在縮容完成后系統再次打開該功能。
操作步驟
- 登錄DWS管理控制臺。
- 選擇“集群 > 專屬集群”,默認顯示用戶所有的集群列表。
- 在集群列表中,在指定集群所在行的“操作”列,選擇“更多 > 節點變更 > 縮容”。
- 系統將顯示縮容頁面,用戶可選擇縮容節點的數量,“自動備份”按鈕默認開啟。
- 單擊“下一步:確認”,會進行縮容前集群狀態檢測,若檢測不通過會彈出提示檢測失敗的項目。
- 檢測通過后,單擊確認,返回集群列表,集群顯示“縮容中”,請耐心等待一段時間。
- (包周期計費模式)集群在縮容結束后,系統會提示刪除空閑節點,用戶可單擊“確認”完成空閑節點刪除。
- (包周期計費模式)頁面跳轉至刪除節點頁面,查看資源信息并單擊“提交”。
- (包周期計費模式)跳轉至資源確認頁面,確認退款信息,無誤后,單擊“提交”。
說明
若集群參數檢測不通過,會導致縮容會失敗,需要檢查集群參數設置是否正確。
若schema檢測不通過,會導致縮容會失敗,需要檢查是否有創建與縮容有沖突的schema。
若磁盤空間檢測不通過,可能導致縮容失敗或者縮容完成后集群只讀,需要對集群磁盤擴容。