私の設定ファイルは:
_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
_
だから、私はmongod
プロセス経由で正常に接続しています:
次にmongo
に接続し、データベースとコレクションを開こうとします:
そしてエラーが出る:
_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")
}
}
}
_
このエラーを回避するために、コマンドrs.initiate()
を次のように使用しています: しかし、このエラーはどういう意味ですか?ありがとう。
このノードをレプリカセットメンバーとして構成しました。
_ 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()
を使用して、現在のレプリカセットのステータスと構成をそれぞれ確認できます。