mongodb 在其他区域添加新的次级后显示状态为(不是 reachable/healthy)

mongodb showing state as (not reachable/healthy) after adding new secondary in other region

我在一个区域中有 3 mongo 个节点 运行,它们映射到同一个副本集,其中 1 个主要副本,其他副本为次要副本。我在另一个区域创建了另一个独立的 mongo。现在我想将新创建的节点添加为同一个现有副本集的辅助节点。为此,我在主节点中执行了 rs.add() 命令。这会在rs.config()中显示新添加的,但是在执行rs.status()命令时显示为不可达状态。

   "state" : 8,
            "stateStr" : "(not reachable/healthy)",
"lastHeartbeatMessage" : "Connection refused",
            "configVersion" : -1

我可以从现有副本集中的主节点连接到新创建的 mongo,另一方面,我也可以从新创建的 mongo 机器连接到主节点。

已解决。

检查主节点/etc/mongod.conf中的复制和安全选项,并将其更新到其他区域中新创建的节点。

如果我们在现有区域中存在密钥文件,则在新区域中也创建具有相同密钥的密钥文件。

确保 mongod 对该文件具有读写权限。 (sudo chown mongod:mongod /var/lib/mongo/keyFile)

在新区域重启 mongod。

如果尚未添加,请将其添加为辅助节点。

这对我有用。