:-)
我正在使用MongoDB (我对它还不熟悉),并希望测试何时删除主服务器的副本集特性,即其中一个次要文件将成为主服务器。
我在3个不同的LXD容器上有3个副本:
mongodb-0 10.126.63.54 <---- primary
mongodb-1 10.126.63.190
mongodb-2 10.126.63.20然后,我想模拟主服务器的意外关闭,因此我删除了承载mongodb-0的LXD容器。
完成此操作后,我将ssh转换为mongodb-1并运行mongosh,并确保它已被选中为主服务器。类似地,当我进入mongodb-2并运行mongosh时,我发现它仍然是次要的。
投票选出一部新的主要作品!\o/
但当我跑的时候
rs.conf()我看到了关机主机的这个条目: {
_id: 2,
host: '10.126.63.54:27017',
arbiterOnly: false,
buildIndexes: true,
hidden: false,
priority: 1,
tags: {},
secondaryDelaySecs: Long("0"),
}rs.status()我看到了关机主机的这个条目: {
_id: 2,
name: '10.126.63.54:27017',
...
lastHeartbeatMessage: 'Error connecting to 10.126.63.54:27017 :: caused by :: No route to host',
...
}rs.status()的消息是有用的,但是我希望rs.conf()拥有当前可用的主机。(对我来说,这可能是个糟糕的期望。)rs.conf()和rs.status()能够反映所有可用的主机?或者这些信息可能有帮助/重要。我的直觉告诉我,这可能会有帮助。但同时也告诉我,不能依赖于rs.conf()来向我展示所有当前运行的主机:/发布于 2022-01-26 08:58:29
这是因为您不希望在网络中断或服务器关闭后立即从配置中删除成员,如果成员重新启动,他将再次自动加入到replicaSet,并与其他成员同步。
https://stackoverflow.com/questions/70860622
复制相似问题