mongodb - 无法在 mongoDB 中创建副本集:“ok”:0
问题描述
我正在使用 Oracle Virtualbox 托管 3 个运行 CentOS 7 的 VM。
Vbox网络设置为:
primary-db Adapter1:NAT 模式,网络设置中没有转发规则 & Adapter2:桥接模式,混杂模式=全部允许
secondary-db1 Adapter1:NAT 模式,网络设置中没有转发规则 & Adapter2:桥接模式,混杂模式=全部允许
secondary-db2 Adapter1:NAT 模式,网络设置中没有转发规则 & Adapter2:桥接模式,混杂模式=全部允许
- 我已将 27017 端口添加到防火墙。(我还添加了 27018 进行测试)
- 创建 /data/db。
- 我在每台服务器的 /etc/hosts 文件中添加了所有主机 IP,并注释了 127.0.0.1 行
- 我已经像这样配置了所有 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 行以进行测试,但它给了我相同的结果。我有没有看过一些东西?我用这个教程作为我的参考。
解决方案
只是为了健全性检查:
每个节点都有一个单独/不同的端口 每个节点都有一个单独/不同的 dir 文件夹
从您的帖子中不清楚...您通过防火墙仅声明了一个端口,但每个节点都需要自己的端口,文件夹-它们都是独立且并行的...。
直接登录到 1 个节点并首先执行:rs.initiate()
然后为其他 2 个节点执行 rs.add
这会将它们分组到一个副本集中
推荐阅读
- swift - Swift:在进度视图完成时更改标签文本 1.0
- ios - 为什么`CBCentral.maximumUpdateValueLength`与相同的设备对(iPhone 6s <-> iPad air)不同,有/没有相同的iCloud帐户登录?
- java - Onedrive api上传文件
- angular - Angular6:我的导航中的下拉菜单没有关闭
- flutter - 如何在不使用任何插件的情况下添加 2 个色调图标?
- python - Python:NLTK - 正则表达式标记器产生空输出
- javascript - 货币在具有相同语言环境的 iOS 和 android 上的格式不同
- android - 我怎样才能通过只使用一个 xml 标签来做到这一点
- java - 使用 http 客户端发布 tar.gz 文件时出错,但使用 curl 命令可以正常工作
- ssl - 错误“ERR_INVALID_REDIRECT”到表单登录