如何更换分片副本集的节点?(How to replace node in sharded repli

2019-10-22 20:40发布

我得到了分片的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()现在我需要更新碎片RS01主机配置。 什么是做正确的方法是什么?

Answer 1:

很多时候,你就需要修改主机字符串的碎片。 改变主机字符串的最简单的方法是运行更新操作。

连接到mongos和做到这一点 -

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

您可能需要重新启动所有mongos。

希望这可以帮助 :-)



Answer 2:

那么,消除问题碎片,然后再加入似乎是唯一的选择。



文章来源: How to replace node in sharded replica set?