如何替换分片副本集中的节点?
How to replace node in sharded replica set?
我使用两个副本集进行了分片 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 的主机配置。正确的做法是什么?
嗯,删除问题分片并重新添加似乎是唯一的选择。
很多时候您需要修改分片的主机字符串。更改主机字符串的最简单方法是 运行 更新操作。
连接到 mongos 并执行此操作 -
> use config
> db.shards.update({ "_id" : "rs01"},{$set : { "host" : "rs01/newip:27017,anothernewip:27017"} })
您可能需要重新启动所有 mongos。
希望这对您有所帮助:-)
我使用两个副本集进行了分片 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 的主机配置。正确的做法是什么?
嗯,删除问题分片并重新添加似乎是唯一的选择。
很多时候您需要修改分片的主机字符串。更改主机字符串的最简单方法是 运行 更新操作。
连接到 mongos 并执行此操作 -
> use config
> db.shards.update({ "_id" : "rs01"},{$set : { "host" : "rs01/newip:27017,anothernewip:27017"} })
您可能需要重新启动所有 mongos。
希望这对您有所帮助:-)