在您的業務低峰期或Shard節點規模超過實際需求時,可以通過釋放Mongos節點或Shard節點以達到節省成本的目的。本文介紹如何釋放分片集群實例的Mongos節點或Shard節點。
注意事項
釋放節點的過程中,分片集群實例的狀態會變為刪除節點中,此時,您將無法對該實例進行密碼重置、角色切換、變更節點連接地址或修改參數等操作,建議您在業務低峰期釋放。
請確保業務已經不再使用待釋放的節點。
Mongos節點數量為2時不支持釋放Mongos節點。
釋放Shard節點:
釋放Shard節點前,請確保已開啟MongoDB均衡器Balancer。開啟Balancer,請參見管理MongoDB均衡器Balancer。
Shard節點數據量、Balancing Window和Jumbo Chunk等因素會影響釋放節點的實際耗時。
說明關于Balancing Window和Jumbo Chunk的更多信息,請參見Balancing Window和Jumbo Chunk。
請確保剩余的Shard節點有足夠的存儲空間。
Shard節點在釋放過程中,會將存儲的數據遷移至剩余Shard節點。當剩余Shard節點的存儲空間被占滿時,為避免數據丟失,實例會自動鎖定。
數據從待釋放的Shard節點遷移至剩余Shard節點時,若出現
duplicated key
報錯,請排查唯一索引字段的值是否相同。例如:不同的Shard節點上存儲著分片鍵不同的兩個文檔,但是主鍵卻相同。
說明duplicated key
報錯通常是因為數據庫中存在孤立文檔所致,建議您在釋放Shard前先清理孤立文檔。清理操作,請參見清理孤立文檔。
操作步驟
登錄MongoDB管理控制臺。
在左側導航欄,單擊分片集群實例列表。
在頁面左上角,選擇實例所在的資源組和地域。
單擊目標實例ID或目標實例所在行操作列管理。
根據釋放的節點類型,選擇對應的操作。
釋放Mongos節點
在Mongos列表區域,單擊目標Mongos節點所在行操作列的,并選擇釋放。
釋放Shard節點
重要釋放Shard節點前,請確保剩余的Shard節點有足夠的存儲空間。
Shard節點在釋放過程中,會將存儲的數據遷移至剩余Shard節點。當剩余Shard節點的存儲空間被占滿時,為避免數據丟失,實例會自動鎖定。
在Shard列表區域,單擊目標Shard節點所在行操作列的,并選擇釋放。
在釋放節點對話框中,單擊確定。
執行釋放節點操作時,實例狀態為刪除節點中。