在mongo中使用rs.initiate()时出错

时间:2016-12-23 05:40:26

标签: mongodb mongodb-replica-set

我想打开monga中的复制。因此,当我尝试使用rs.initiate时,我得到以下errorrs.initiate()

{
    "ok" : 0,
    "errmsg" : "This node was not started with the replSet option",
    "code" : 76,
    "codeName" : "NoReplicationEnabled"
}

我是新手,所以我不知道如何纠正它。我遵循这些准则 https://blog.jixee.me/how-to-use-mongo-connector-with-elasticsearch/

5 个答案:

答案 0 :(得分:5)

如果您在Windows上运行,则它可能已作为服务运行,并且可能仍与旧服务器连接。

使用以下命令关闭所有正在运行的实例,然后再次启动所有实例:

db.adminCommand({shutdown:1})

答案 1 :(得分:0)

请参阅官方文档deploy-replica-set以设置mongo副本集。

  

通过--replSet命令行指定副本集名称   选项:

     

mongod --replSet“rs0”

     

您还可以在a中指定副本集名称   配置文件。

答案 2 :(得分:0)

当我安装另一个文档管理器时,此问题已解决。相同的命令是

sudo pip install 'mongo-connector[elastic2]'

我不确切知道它是怎么发生的,但是当我尝试使用mongo-connector连接到Elastic搜索时,我面临以下问题:没有找到记录器的处理程序" mongo-connector.util&#34 ; 然后我为mongodb安装了另一个doc管理器,并且随着mongo-connector问题,这个问题也解决了。 我认为弹性搜索文档管理器和mongo文档管理器之间存在冲突。

答案 3 :(得分:0)

您可以在以下位置将replSet添加到MongoDb配置文件:/etc/mongodb.conf

replSet = test

如果在最新的mongodb中不起作用,请添加以下内容:

replSetName = test

答案 4 :(得分:0)

您必须先编辑 mongod.conf。 在 Windows 中,您可以在程序文件中找到它。 在 MacOSX 中,您可能已经通过自制软件安装了 MongoDB。

请在您的终端上执行以下步骤,

nano /opt/homebrew/etc/mongod.conf

在文档末尾添加以下代码

replication:
  replSetName: rs0
  oplogSizeMB: 100

最后保存

现在你必须重启MongoDB

现在在 mongo 上运行代码

rs.initiate()