如何替换分片副本集中的节点?

时间:2015-04-28 11:28:35

标签: mongodb config sharding replicaset

我使用两个副本集进行了分片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-address已更改)。副本集重新配置非常简单,只需rs.remove()和rs.add() 现在我必须更新shard rs01的主机配置。什么是正确的方法呢?

2 个答案:

答案 0 :(得分:1)

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

连接到mongos并执行此操作 -

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

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

希望这会有所帮助: - )

答案 1 :(得分:0)

好吧,删除问题分片并再次添加它似乎是唯一的选择。