2015-04-28 60 views
1

我碎片化的MongoDB設置有兩個副本集:如何替換分片副本集中的節點?

mongos> db.runCommand({ listShards : 1 }) 
{ 
    "shards" : [ 
     { 
      "_id" : "rs01", 
      "host" : "rs01/10.133.250.140:27017,10.133.250.154:27017" 
     }, 
     { 
      "_id" : "rs02", 
      "host" : "rs02/10.133.242.7:27017,10.133.242.8:27017" 
     } 
    ], 
    "ok" : 1 
} 

節點10.133.250.140剛剛去了,我用另一個(IP地址改變)取而代之。副本集重新配置非常簡單,只需rs.remove()和rs.add() 現在我必須更新shard rs01的主機配置。什麼是正確的方式來做到這一點?

+0

該節點是否仍然具有相同的IP? –

+0

除此之外:這個問題是關於SO的Off Topic。投票結束,因爲它應該問http://dba.stackexchange.com –

+0

IP地址已更改 – zhekanax

回答

1

很多時候您需要修改分片的主機字符串。更改主機字符串的最簡單方法是運行更新操作。

連接到mongos和做到這一點 -

> use config 
> db.shards.update({ "_id" : "rs01"},{$set : { "host" : "rs01/newip:27017,anothernewip:27017"} }) 

您可能需要重新啓動所有mongos。

希望這有助於:-)

0

那麼,刪除問題分片並重新添加它似乎是唯一的選擇。