无法在mongoDB中创建副本集:“0”;好的0

无法在mongoDB中创建副本集:“0”;好的0,mongodb,virtualbox,centos7,replicaset,Mongodb,Virtualbox,Centos7,Replicaset,我正在使用Oracle Virtualbox托管运行CentOS 7的3个虚拟机 Vbox网络设置为: 主db适配器1:NAT模式,网络设置中无转发规则&适配器2:桥接模式,混杂模式=允许所有 secondary-db1Adapter1:NAT模式,网络设置中无转发规则&Adapter2:Bridge模式,混杂模式=允许所有 secondary-db2Adapter1:NAT模式,网络设置中无转发规则&Adapter2:Bridge模式,混杂模式=允许所有 我已将27017端口添加到防火墙。(我

我正在使用Oracle Virtualbox托管运行CentOS 7的3个虚拟机

Vbox网络设置为:

主db适配器1:NAT模式,网络设置中无转发规则&适配器2:桥接模式,混杂模式=允许所有

secondary-db1Adapter1:NAT模式,网络设置中无转发规则&Adapter2:Bridge模式,混杂模式=允许所有

secondary-db2Adapter1:NAT模式,网络设置中无转发规则&Adapter2:Bridge模式,混杂模式=允许所有

  • 我已将27017端口添加到防火墙。(我还将27018添加到 测试)
  • 创建了/data/db
  • 我已经在每个服务器的/etc/hosts文件和 评论了127.0.0.1行
  • 我已将所有mongo.conf文件配置为:
  • 问题:

    现在当我运行

    # mongo -host <secondary-db server/192.168.---.---> -port 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行进行注释以进行测试,但它给出了相同的结果。我有没有看过头了? 我用这个来检查你的健康状况:

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

    从你的帖子中还不清楚…你只声明了一个通过防火墙的端口,但是每个节点都需要自己的端口,文件夹--它们都是独立的、并行的

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

    然后对其他2个节点执行rs.add


    如果您的问题是节点的设置,那么这会将它们分组到一个副本集

    ,肯定是的,它们每个都必须是一个单独的不同端口,并且需要驻留在单独的目录文件夹中

    如果你的问题是关于防火墙/前端:我在数据方面的工作更多的是查询,而不是前端…但它是一个副本集,如果主服务器宕机,你的应用程序需要工作到任何辅助服务器(无论选哪个主服务器是随机的)


    Mongo有一所免费大学,课程M103专门针对旋转副本集-你可以很快地观看视频以跟上速度….

    你的意思是如果我在节点1上打开27017,我应该在节点2上打开27018,在节点3上打开27019吗?
    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>