Mongodb
節點不處於主要或恢復狀態
我的配置文件是:
systemLog: destination: file logAppend: true path: c:\data\log\mongod.log storage: dbPath: c:\data\db journal: enabled: true replication: replSetName: "rs0" net: bindIp: 127.0.0.1 port: 27017 security: authorization: enabled
並得到一個錯誤:
2018-07-07T15:40:25.092+0300 E QUERY [thread1] Error: error: { "operationTime" : Timestamp(0, 0), "ok" : 0, "errmsg" : "node is not in primary or recovering state", "code" : 13436, "codeName" : "NotMasterOrSecondary", "$clusterTime" : { "clusterTime" : Timestamp(0, 0), "signature" : { "hash" : BinData(0,"FshG5mLBvAQUizPHXGfCITV4ZKA="), "keyId" : NumberLong("6573732769795407873") } } }
您已將此節點配置為副本集成員:
replication: replSetName: "rs0"
啟動時,新的 MongoDB 伺服器還沒有副本集配置。伺服器將處於未知副本集成員狀態 ,直到您將此成員添加到現有副本集配置或用於
rs.initiate()
將其建立為新副本集的第一個成員。您可以使用 確認目前狀態
rs.status()
。沒有任何配置的伺服器將在 MongoDB 4.0 中報告類似於以下內容(確切輸出可能因伺服器版本而異):> rs.status() { "operationTime" : Timestamp(0, 0), "ok" : 0, "errmsg" : "no replset config has been received", "code" : 94, "codeName" : "NotYetInitialized", "$clusterTime" : { "clusterTime" : Timestamp(0, 0), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } } }
添加到副本集後,您可以使用
rs.status()
和rs.conf()
分別檢查目前的副本集狀態和配置。