无法在mongoDB中创建副本集:“确定”:0

问题描述 投票:0回答:2

我正在使用Oracle Virtualbox托管3个运行CentOS 7的VM。

Vbox网络设置为:

primary-db Adapter1:NAT模式,网络设置中没有转发规则,而Adapter2:桥接模式,混杂模式=全部允许

secondary-db1 Adapter1:NAT模式,网络设置中没有转发规则,而Adapter2:桥接模式,混杂模式=全部允许

secondary-db2 Adapter1:NAT模式,网络设置中没有转发规则,而Adapter2:桥接模式,混杂模式=全部允许

  1. 我已将27017端口添加到防火墙。 (我还添加了27018测试)
  2. 已创建/ data / db。
  3. 我已经在每台服务器的/ etc / hosts文件中添加了所有主机IP,评论了127.0.0.1行
  4. 我已经像这样配置了所有mongo.conf文件:
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.

mongodb virtualbox centos7 replicaset
2个回答
0
投票
为了健全性检查:

每个节点都有一个单独的/不同的端口每个节点都有一个单独的/不同的dir文件夹

从您的帖子中还不清楚...您仅通过防火墙声明了1个端口,但是每个节点都需要自己的端口,文件夹--它们都是独立且并行的。...

直接登录到1个节点,然后首先执行以下操作:rs.initiate()

然后为其他两个节点执行rs.add

这会将它们分组为副本集


0
投票
如果您的问题是节点的设置-肯定会-它们每个都必须是一个单独的不同端口,并且它们需要驻留在单独的dir文件夹中。...

如果您的问题是关于防火墙/前端的:我在查询方面而不是在前端处理更多数据方面的工作……但是它是一个副本集,如果主数据库出现故障,您的应用程序必须能够处理任何中学(选出的任何人都是小学的)…。

Mongo拥有一所免费大学,而M103课程专门涉及旋转副本集-您可以很快地观看视频以加快速度。...

© www.soinside.com 2019 - 2024. All rights reserved.