设置一个成员MongoDB副本集

时间:2017-03-25 13:14:48

标签: mongodb replication

我希望{/ 3}}在/etc/init.d/mongodb中配置相同内容。

我遇到了以下命令:

sudo mongod --port 27017 --dbpath /srv/mongodb/db0 --replSet rs0

但它没有成功。我的mongo配置为在自动启动上运行。 在运行--replSet选项之前,我运行了以下命令来停止正在运行的实例。

sudo service mongod stop

上面的两个命令都没有输出/错误但是当我运行rs.initiate()时,我得到以下错误:

{
    "ok" : 0,
    "errmsg" : "not authorized on admin to execute command { replSetInitiate: undefined }",
    "code" : 13
}

从错误消息看,问题似乎是访问权限。任何人都可以提供任何指示吗?

另外,如果我使用上述命令成功,我是否需要对/etc/mongod.conf或/etc/init.d/mongodb进行任何更改,以便实例继续作为单节点副本运行?

1 个答案:

答案 0 :(得分:2)

首先:有两种方法可以设置mongod进程的配置;要么(如在命令中找到的那样)作为命令行中的参数,配置文件mongod.conf中的。您的设置似乎使用配置文件,因此您需要在命令行上put the replica set settings in the mongod.conf file而不是

其次:要在authentication is enabled的系统上运行rs.initiate()命令,您必须以permission to run this command

的用户身份进行身份验证