2016年11月16日 星期三

[mongo] move db primary node

發生事件為

新增data node並且把在舊的data node db移至新的

結果導致查詢找不到collection和資料

因為之前在處理時好像都沒發生問題

這次仔細看其實問題還蠻多的



特別紀錄一下,

下次可能要特別注意:

1. 移動primary node官方有強調,會重建index因此會花上一段時間,有可能暫時無法使用
    (跟huge sync. 的狀況有點像)

2. 在mongos上面的routing table仍然是舊的,所以需要flush指令

如果是在龐大頻繁存取的 data node建議 :

1. 先開第二個db (不同data node) 並將所有access服務移到新的db (data node).

2. db.runCommand( { movePrimary: <databaseName>, to: <newPrimaryShard> } )

3. 到所有的mongos上面去執行
    db.runCommand({"flushRouterConfig":1})
    (若指令無效則得重開mongos)

沒有留言:

張貼留言