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。
现在我想知道以下事情...
- 我遵循的步骤对于 MongoDB V4 是正确的吗?
- 当我使用 shell 命令
mongo
连接到 mongo 时重新启动后。在所有三个实例中显示为rs-test:PRIMARY>
。 (根据参考资料,有一个主要的,另外两个是次要的)。那么这里有什么问题?
- 当我尝试使用 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)
}
}
}
如有任何帮助,我们将不胜感激。
我进行了三项更改,现在可以正常使用了...
- 清除所有三台机器中的/var/lib/mongodb目录
- 更新 /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")
我正在尝试在安装了 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。
现在我想知道以下事情...
- 我遵循的步骤对于 MongoDB V4 是正确的吗?
- 当我使用 shell 命令
mongo
连接到 mongo 时重新启动后。在所有三个实例中显示为rs-test:PRIMARY>
。 (根据参考资料,有一个主要的,另外两个是次要的)。那么这里有什么问题? - 当我尝试使用 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) } } }
如有任何帮助,我们将不胜感激。
我进行了三项更改,现在可以正常使用了...
- 清除所有三台机器中的/var/lib/mongodb目录
- 更新 /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")