2017-06-13 181 views
0

我在MongoDB中配置了三节点副本集;复制同步。无法使用公共IP地址连接到MongoDB副本集

我能够连接到每个服务器单独,并使用每台服务器的私有IP地址,我可以连接到设置这样的副本:

mongo --host rs0/10.X.X.X:27017,10.X.X.X:27017,10.X.X.X:27017 -u root -p abc123 --authenticationDatabase admin

但是当我尝试使用连接到副本集该服务器的公网IP地址,就像这样:

mongo --host rs0/52.X.X.X:27017,52.X.X.X:27017,52.X.X.X:27017 -u root -p abc123 --authenticationDatabase admin

我得到一个错误:‘没有找到一套RS0检测到的主’。

+1

这真的应该问的[DBA,stackexchange.com(https://dba.stackexchange.com)的是针对与数据库管理和配置有关的问题和答案。 StackOverflow适用于:“编程”的问题,其中不是。请将您的帖子移至相应的网站,而不是在这里发帖。 –

回答

0

当您连接到副本集时,应该使用相同的地址(IP地址或主机名)作为节点在副本集配置中彼此使用的地址。对于副本集的部署,您需要:

Ensure that network traffic can pass between all members of the set and all clients in the network securely and efficiently.

在实践中,这是最好使用公网IP地址来配置你的副本集;使用私有IP地址更安全,这有助于确保您的数据库只能接收来自授权位置的连接。

0

这可能是原因之一。

就必须加入所有3个服务器公网IP到IP绑定值的所有3个服务器/etc/mongod.conf

如果您正在使用AWS,你需要让所有这些IP的另一个入站访问服务器。

0

谢谢你们的回复, 它需要rs.config与公网IP配置副本