【问题标题】:mongoDB, replicaSet: Replication has not yet been configuredmongoDB,replicaSet:尚未配置复制
【发布时间】:2021-04-20 12:11:51
【问题描述】:

我正在尝试借助以下手册安装 ReplicaSet:
[https://docs.mongodb.com/manual/tutorial/convert-standalone-to-replica-set/]
但是,我总是得到这个错误:

复制尚未配置

我在 OpenSUSE 终端中的代码
sudo mongod --port 27017 --dbpath /var/lib/mongo --replSet rs0 --bind_ip localhost

/etc/mongod.conf 确实有以下行:

replication:
        replSetName: "rs0"

谁能在这里帮助我?将不胜感激!

【问题讨论】:

  • 你必须初始化副本集。
  • 除非你指定像mongod -f /etc/mongod.conf这样的配置文件,否则你的配置文件没有任何作用。
  • 据我所知,在活动的 mongo 上进入 mongo shell 后,启动副本集是可能的。这个信息有错吗?好吧,我没有指定配置文件。但是,我确实指定了要创建的副本集的名称。然而,我得到了这个问题。

标签: mongodb mongodb-replica-set


【解决方案1】:

你有两种可能启动 mongod

sudo mongod --port 27017 --dbpath /var/lib/mongo --replSet rs0 --bind_ip localhost

OR(当所有这些参数,端口,dbpath,bindIp...都设置在config-file中)

sudo mongod --config /etc/mongod.conf

现在 mongod 正在运行,它知道它应该是副本集。

使用“mongo”命令连接到该 RS。你会得到像“MongoDB shell version v4.0.19”这样的答案并提示'>'光标正在等待你的下一个命令。

现在你需要(只需要一次)启动这个副本集,给出下一个命令:

rs.initiate()

现在你的提示应该改为

rs0:PRIMARY>

你现在可以“询问”你的副本集状态

rs.status()

或者配置

rs.conf()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-29
    • 1970-01-01
    • 1970-01-01
    • 2020-06-25
    相关资源
    最近更新 更多