MongoDB - ReplicaSet - 无法刷新密钥缓存

问题描述 投票:0回答:1

我正在使用 MongoDB 5.0 在 Windows 10 计算机上部署我的第一个副本集。 出于本教程的目的,我希望所有服务器都在我的计算机上的不同端口上运行。

A)

我创建了我的第一个服务器:

mongod --replSet rs0 --port 27018 --dbpath C:\data\R0S1

我打开了另一个命令行提示符,并使用

mongo --port 27018
连接到它。 我使用命令
rs.initiate()
启动了设置。

B)

我使用以下命令创建了第二个和第三个服务器:

mongod --replSet rs0 --port 27019 --dbpath C:\data\R0S2
mongod --replSet rs0 --port 27020 --dbpath C:\data\R0S3

(我在新的命令行提示中运行了每个命令)

C)

我通过连接到主服务器(在 27018 与

mongo --port 27018
) 与 :

rs.add("localhost:27019")
rs.add("localhost:27020")

现阶段,一切都按预期进行。 跑步

rs.conf()
给了我:

{
        "_id" : "rs0",
        "version" : 5,
        "term" : 1,
        "members" : [
                {
                        "_id" : 0,
                        "host" : "localhost:27018",
                        "arbiterOnly" : false,
                        "buildIndexes" : true,
                        "hidden" : false,
                        "priority" : 1,
                        "tags" : {

                        },
                        "secondaryDelaySecs" : NumberLong(0),
                        "votes" : 1
                },
                {
                        "_id" : 1,
                        "host" : "localhost:27019",
                        "arbiterOnly" : false,
                        "buildIndexes" : true,
                        "hidden" : false,
                        "priority" : 1,
                        "tags" : {

                        },
                        "secondaryDelaySecs" : NumberLong(0),
                        "votes" : 1
                },
                {
                        "_id" : 2,
                        "host" : "localhost:27020",
                        "arbiterOnly" : false,
                        "buildIndexes" : true,
                        "hidden" : false,
                        "priority" : 1,
                        "tags" : {

                        },
                        "secondaryDelaySecs" : NumberLong(0),
                        "votes" : 1
                }
        ],
        "protocolVersion" : NumberLong(1),
        "writeConcernMajorityJournalDefault" : true,
        "settings" : {
                "chainingAllowed" : true,
                "heartbeatIntervalMillis" : 2000,
                "heartbeatTimeoutSecs" : 10,
                "electionTimeoutMillis" : 10000,
                "catchUpTimeoutMillis" : -1,
                "catchUpTakeoverDelayMillis" : 30000,
                "getLastErrorModes" : {

                },
                "getLastErrorDefaults" : {
                        "w" : 1,
                        "wtimeout" : 0
                },
                "replicaSetId" : ObjectId("61cc297329dca2f0673c2cff")
        }
}

D) 在新的命令行提示符中,我创建了我的第四个服务器(其想法是使其成为仲裁器):

mongod --replSet rs0 --port 30000 --dbpath C:\data\arb

我这里有一个问题。 此新服务器的日志文件包含以下错误:

{"t":{"$date":"2021-12-29T10:50:51.767+01:00"},"s":"我", "c":"-",
"id":4939300, "ctx":"HMAC 的监控密钥","msg":"无法 刷新密钥缓存","attr":{"error":"NotYetInitialized: 无法使用 非本地读取关注,直到副本集完成 正在初始化。","nextWakeupMillis":19200}}

当连接到主服务器并尝试执行“rs.addArb(localhost:30000)”时,该命令会阻塞并且不执行任何操作,因为我相信端口 30000 上的服务器上出现上述错误。

您对发生的事情以及如何解决我的问题有任何想法吗?

---- 编辑 1 ----

下面是我的 mongod.cfg 文件:

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: C:\Program Files\MongoDB\Server\5.0\data
  journal:
    enabled: true
#  engine:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path:  C:\Program Files\MongoDB\Server\5.0\log\mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1


#processManagement:

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:
mongodb windows replicaset
1个回答
0
投票

这可能是由于 mongodb 5.0 作为默认设置的一部分引入了多数读取关注。 如果将读取关注设为多数,请检查此项,然后将其更改为 2。 db.adminCommand({ "getDefaultRWConcern" : 1 })

这可能是 mongodb 的问题 - https://www.mongodb.com/community/forums/t/single-node-replicaset-never-finishing-instanciating-error-cannot-use-non-local-read-concern -直到副本集完成初始化/164815/3

© www.soinside.com 2019 - 2024. All rights reserved.