ApsaraDB for MongoDB支援重啟執行個體、重啟組件以及重啟節點。當資料庫出現串連數滿或效能問題時,您可以嘗試手動重啟執行個體、組件或節點解決問題。
使用限制
重啟組件僅支援分區叢集執行個體。
重啟節點僅支援雲端硬碟版執行個體。
注意事項
重啟執行個體期間會啟停進程,系統會斷開當前所有串連,請確保業務具有重連機制。
Mongod和Mongos進程啟動時間通常都在30秒以內。但是當集合數量較多(超過1萬),Mongod的啟動時間可能達到分鐘層級。進程啟動完成之前,將無法串連對應節點,為了避免重啟時間過長造成業務受損,建議將集合數量控制在1萬以內。更多內容介紹,請參見MongoDB官網文檔。
複本集執行個體重啟後,可能會出現節點角色變化的情況,建議您在生產環境中使用ConnectionStringURI高可用串連地址。更多介紹,請參見複本集執行個體串連說明。
分區叢集執行個體重啟時,在Mongos進程重啟時串連會斷開,建議您在生產環境上使用ConnectionStringURI高可用串連地址,且ConnectionStringURI高可用串連地址中添加至少兩個Mongos的串連地址。更多介紹,請參見分區叢集執行個體串連說明。
重啟複本集執行個體中的單個節點後,可能會出現節點角色變化的情況,建議您在生產環境中使用ConnectionStringURI高可用串連地址。更多介紹,請參見複本集執行個體串連說明。
重啟分區叢集執行個體Shard組件中的單個節點時,用戶端與資料庫的串連不會斷開,但是可能會出現不可寫的情況,建議稍後重試寫操作。
操作步驟
重啟執行個體
登入MongoDB管理主控台。
根據執行個體類型,在左側導覽列,單擊複本集執行個體列表或分區叢集執行個體列表。
在頁面左上方,選擇執行個體所在的資源群組和地區。
單擊目標執行個體所在行操作列的更多,並選擇重啟。
在彈出的重啟執行個體對話方塊中,單擊確定。
執行重啟操作時,執行個體狀態為重啟中,當執行個體狀態變更為運行中時,說明執行個體重啟成功。
重啟組件
僅分區叢集執行個體支援重啟組件。
訪問MongoDB分區叢集執行個體列表,在上方選擇資源群組和地區,然後單擊目標執行個體ID。
在Mongos列表或Shard列表地區,找到需要重啟的組件,單擊目標組件所在行操作列的
,並選擇重啟。
在彈出的重啟節點對話方塊中,單擊確定。
執行重啟操作時,執行個體狀態為重啟中,當執行個體狀態變更為運行中時,說明組件重啟成功。
重啟節點
訪問MongoDB複本集執行個體列表或MongoDB分區叢集執行個體列表,在上方選擇資源群組和地區,然後單擊目標執行個體ID。
在目標執行個體頁面的左側導覽列,單擊服務可用性。
找到需要重啟的節點,單擊操作列的重啟節點。
在重啟節點對話方塊中,單擊確定。
執行重啟操作時,執行個體狀態為節點重啟中,當執行個體狀態變更為運行中時,說明單個節點重啟成功。
常見問題
問題1:重啟複本集執行個體時,系統後台具體操作流程是什麼樣的?對外服務有什麼影響?
系統會先重啟Hidden節點,然後重啟Secondary節點和ReadOnly節點,接著主動進行一次Primary節點和Secondary節點的主從切換,最後重啟之前的Primary節點。對外服務的具體影響如下:
重啟Hidden節點:對業務無感知。
重啟Secondary節點:Secondary節點上的串連會全部斷開,用戶端需要重建立立串連,此時Primary節點可用,不影響寫入;但會影響設定了讀從(readPreference=Secondary)的讀操作。
重啟ReadOnly節點:ReadOnly節點上的串連會全部斷開,用戶端需要重建立立串連,此時Primary節點可用,不影響寫入;但會影響設定了讀唯讀節點(readPreference=secondary&readPreferenceTags=role:readonly)的讀操作。如果執行個體中有多個唯讀節點,則重啟其中1個時,讀流量會臨時轉移到另一個可用的唯讀節點上。
主備切換:主備切換過程中,會出現1次閃斷現象,期間約30秒;如果您的業務通過Primary節點的地址串連,那麼由於節點角色發生變化,可能會對業務的讀寫操作造成影響,例如無法寫入資料。
重啟之前的Primary節點:之前的Primary節點(切換後已經變成了Secondary)上的串連會全部斷開,用戶端需要重建立立串連;影響等價於重啟Secondary節點。
問題2:重啟分區叢集執行個體時,系統後台具體操作流程是什麼樣的?對外服務有什麼影響?
系統會先重啟Shard節點,然後重啟ConfigServer節點,最後重啟Mongos節點。對外服務的具體影響如下:
Shard節點:多個Shard節點並行重啟。重啟過程中用戶端串連不會斷開,但是可能會出現不可寫的情況,建議稍後重試寫操作。
ConfigServer節點:對業務無感知。
Mongos節點:多個Mongos節點並行重啟。重啟過程中會斷開當前節點上的所有串連,請確保業務具有重連機制。