我正在使用Oracle Virtualbox托管3个运行CentOS 7的VM。
Vbox网络设置为:
primary-db Adapter1:NAT模式,网络设置中没有转发规则,而Adapter2:桥接模式,混杂模式=全部允许
secondary-db1 Adapter1:NAT模式,网络设置中没有转发规则,而Adapter2:桥接模式,混杂模式=全部允许
secondary-db2 Adapter1:NAT模式,网络设置中没有转发规则,而Adapter2:桥接模式,混杂模式=全部允许
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
processManagement:
fork: true
pidFilePath: /var/run/mongodb/mongod.pid
timeZoneInfo: /usr/share/zoneinfo
net:
port: 27017
bindIp: 192.168.1--.---,127.0.0.1
replication:
replSetName: "replica01"
问题:
现在运行我时
# mongo -host <secondary-db server/192.168.---.---> -port 27017
在主服务器中,我可以输入辅助服务器的mongo shell
但是当我尝试使用
rs.add('secondary-db1')
或
rs.add('secondary-db1:27017')
我一直得到这个:
replica01:PRIMARY> rs.add('secondary-db')
{
"operationTime" : Timestamp(1581381570, 1),
"ok" : 0,
"errmsg" : "Either all host names in a replica set configuration must be localhost references, or none must be; found 1 out of 2",
"code" : 103,
"codeName" : "NewReplicaSetConfigurationIncompatible",
"$clusterTime" : {
"clusterTime" : Timestamp(1581381570, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
replica01:PRIMARY>
我什至试图注释bindIP行以进行测试,但是它给了我相同的结果。我看过东西了吗?我已经使用了此tutorial as my reference.
每个节点都有一个单独的/不同的端口每个节点都有一个单独的/不同的dir文件夹
从您的帖子中还不清楚...您仅通过防火墙声明了1个端口,但是每个节点都需要自己的端口,文件夹--它们都是独立且并行的。...
直接登录到1个节点,然后首先执行以下操作:rs.initiate()
然后为其他两个节点执行rs.add
这会将它们分组为副本集
如果您的问题是关于防火墙/前端的:我在查询方面而不是在前端处理更多数据方面的工作……但是它是一个副本集,如果主数据库出现故障,您的应用程序必须能够处理任何中学(选出的任何人都是小学的)…。
Mongo拥有一所免费大学,而M103课程专门涉及旋转副本集-您可以很快地观看视频以加快速度。...