MongoDB服务器未使用replset运行

ghg1uchk  于 2023-01-25  发布在  Go
关注(0)|答案(3)|浏览(245)

我做了一个MongoDB的家庭作业并按照步骤操作,但是我遇到了"服务器没有使用replset运行"的问题
我做的步骤是:

`"start mongod --replSet m101 --logpath 1.log --dbpath \data\rs1 --port 27017 --smallfiles --oplogSize 64
start mongod --replSet m101 --logpath 2.log --dbpath \data\rs2 --port 27018 --smallfiles --oplogSize 64
start mongod --replSet m101 --logpath 3.log --dbpath \data\rs3 --port 27019 --smallfiles --oplogSize 64

现在连接到一个mongo shell,并确保它启动。

mongo --port 27017

现在您将创建副本集,在mongo shell中键入以下命令:

config = { _id: "m101", members:[`
          { _id : 0, host : "localhost:27017"},
          { _id : 1, host : "localhost:27018"},
          { _id : 2, host : "localhost:27019"} ]
};
rs.initiate(config);"

我不知道问题出在哪里,有人说问题可能是另一个mongod在运行。但我没有任何其他mongod在同一时间运行。
谢谢大家!

o75abkj4

o75abkj41#

同样的事情也发生在我身上,问题是我在启动节点之前没有任何参数就运行了mongod,首先要杀死所有的mongo,mongod和mongos示例来保证环境是干净的。

ps -ef | grep -i 'mongo'
sudo service mongod stop

问题的原因很简单。mongod和mongos的默认端口是27017。所以,我遇到的问题是第一个副本节点从未创建。以下命令将我连接到一个默认的mongod示例:

mongo --port 27017

我希望这能解决你的问题。)

hc2pp10m

hc2pp10m2#

检查您在shell中连接到的mongod运行时使用的命令行选项:

> use admin
switched to db admin
> db.runCommand("getCmdLineOpts")
{
    "argv" : [
        "mongod",
        "--dbpath",
        "/data/db",
        "--replSet",
        "rs0"
    ],
    "parsed" : {
        "replication" : {
            "replSet" : "rs0"
        },
        "storage" : {
            "dbPath" : "/data/db"
        }
    },
    "ok" : 1
}

您看到replSet选项了吗?
你也可以尝试一种不同的方式来初始化副本集。不要输入配置并将其传递给rs.initiate(),只需运行rs.initiate()。它将设置一个成员的默认配置-你在shell中连接到的服务器。然后你可以添加其他两个服务器。更多信息请参见tutorial

qojgxg4l

qojgxg4l3#

适用于MacOS Homebrew设置和默认配置

1.编辑默认配置mongodb文件nano /opt/homebrew/etc/mongod.conf
1.插入以下代码段

replication:
       replSetName: "rs0"

1.保存并重新启动mongodb服务brew services restart mongodb-community@6.0
1.在mongosh shell rs.initiate()中执行以下命令

$ mongosh
> use admin
admin> rs.initiate()

成功响应:

{
  info2: 'no configuration specified. Using a default configuration for the set',
  me: '127.0.0.1:27017',
  ok: 1
}

相关问题