在您的業務低峰期或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節點所在行操作列的,並選擇釋放。
在釋放節點對話方塊中,單擊確定。
執行釋放節點操作時,執行個體狀態為刪除節點中。