MongoDB v4.0.0 副本配置设置失败

MongoDB v4.0.0 Replica Configuration failed to Setup

我正在尝试在安装了 MongoDB v4.0.0 的 3 台机器 (OS UbuntuMATE 18.04) 中配置复制。

我正在使用 Deploy a MongoDB Replica Set link 作为参考。并尝试如下配置...

第一步: 使用本地 IP 和主机名更新所有三台机器的主机文件 即

127.0.0.1   localhost
192.168.10.158  dell-Inspiron-15-7000-Gaming
192.168.10.125  dell-1080x2
192.168.10.124  vivek-pc

然后对于每台机器我的 /etc/mongod.conf 配置如下...

mongod.conf192.168.10.158

storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1, 192.168.10.158

# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

replication:
  replSetName: rs-test

mongod.conf192.168.10.124

storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1, 192.168.10.124

# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo
replication:
  replSetName: rs-test

mongod.conf192.168.10.125

storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1, 192.168.10.125

# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo
replication:
  replSetName: rs-test

然后我重新启动了所有三个 MongoDB。

现在我想知道以下事情...

  1. 我遵循的步骤对于 MongoDB V4 是正确的吗?
  2. 当我使用 shell 命令 mongo 连接到 mongo 时重新启动后。在所有三个实例中显示为rs-test:PRIMARY>。 (根据参考资料,有一个主要的,另外两个是次要的)。那么这里有什么问题?
  3. 当我尝试使用 rs.initiate() 在一台机器上启动副本集时。它 returns 我跟随错误信息...
{
  "operationTime" : Timestamp(1544783790, 1),
  "ok" : 0,
  "errmsg" : "already initialized",
  "code" : 23,
  "codeName" : "AlreadyInitialized",
  "$clusterTime" : {
      "clusterTime" : Timestamp(1544783790, 1),
      "signature" : {
          "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
          "keyId" : NumberLong(0)
      }
  }
}

如有任何帮助,我们将不胜感激。

我进行了三项更改,现在可以正常使用了...

  1. 清除所有三台机器中的/var/lib/mongodb目录
  2. 更新 /etc/mongod.conf(我认为没有必要)并从绑定 Ip 中删除 127.0.0.1(意味着绑定 Ip 字段中只有 localIp 或 LiveIp)和副本集名称添加在双引号中,即 "rs-test".

然后重新启动所有三个 MongoDB 实例并将以下命令添加到 192.168.10.158 数据库以使其成为主要实例。

rs.initiate()
rs.add("dell-1080x2")
rs.add("vivek-pc")