在AWS云中添加了3个EC2实例。 在3个不同的实例中安装了3个MongoDB实例,并且都运行正常。
我正在为相同的数据库添加复制。
以下是我遵循的步骤:
sudo service mongod start --sslPEMKeyFile" /etc/ssl/mongodb.pem" --sslMode" requireSSL" --replSet" myReplSet" (在所有3个mongo实例中)
config = {_id:" myReplSet" ,成员:[{_ id:0,主持人:" ip-10-0-0-68:27017"},{_ id:1,主持人:" ip-10-0-0- 247:27017"},{_ id:2,主持人:" ip-10-0-0-148:27017"}]}
rs.initiate(配置)
错误如下:
MongoDB Enterprise > rs.initiate(config)
{
"ok" : 0,
"errmsg" : "This node was not started with the replSet option",
"code" : 76,
"codeName" : "NoReplicationEnabled"
}
修改
我为所有3个实例添加了相同的安全组和弹性IP。 所有3个都是新的DB。 现在我收到错误:
{
"ok" : 0,
"errmsg" : "'ip-10-0-0-148:27017' has data already, cannot initiate set.",
"code" : 110,
"codeName" : "CannotInitializeNodeWithData"
}
修改-2
为一台服务器配置文件:
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# Where and how to store data.
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
# network interfaces
net:
port: 27017
# bindIp: 127.0.0.1,13.58.225.174,13.58.180.226 # Listen to local interface only, comment to listen on all interfaces.
#security:
#operationProfiling:
replication:
replSetName: rs0
答案 0 :(得分:1)
service start命令不接受参数。所以
sudo service mongod start --sslPEMKeyFile "/etc/ssl/mongodb.pem" --sslMode "requireSSL" --replSet "myReplSet"
相当于
sudo service mongod start
如果要将这些设置添加到mongod
配置,则需要编辑/etc/mongod.conf
以将其添加。由于某些选项的名称在命令行和配置文件之间有所不同,您应该查看Configuration File Options文档以确保使用正确的设置。
修改强>
根据您的修改和错误消息,mongod
进程(ip-10-0-0-148:27017
)上已有数据。您无法将已有数据的mongod
进程添加到副本集。但是,您可以在已有数据的mongod
进程上启动副本集。您应该连接到该mongod
进程并在那里运行rs.initiate()
。然后运行rs.add()
将剩余的空mongod
进程添加到副本集。
注意:MongoDB确实提供了MongoDB Cloud Manager和MongoDB Atlas,可以为您完成部分或全部操作。但是,它们不是免费的,所以如果您想使用它们,由您决定。
答案 1 :(得分:1)
这种方式很好。
我在这里: https://devops.profitbricks.com/tutorials/configure-mongodb-replica-set/