0
レプリカセットを使用していて、ディスク領域を解放するために、レプリカセットメンバを再同期します。Mongoレプリカセットの再同期
このように、レプリカセットのメンバーであるSECONDARY
では、データベースのデータを保持する/var/lib/mongodb/
ディレクトリを空にしました。
レプリケーションセットにシェルを開いて、コマンドrs.status()
を実行すると、次のようになります。
{
"set" : "rs1",
"date" : ISODate("2016-12-13T08:28:00.414Z"),
"myState" : 5,
"term" : NumberLong(29),
"heartbeatIntervalMillis" : NumberLong(2000),
"members" : [
{
"_id" : 0,
"name" : "10.20.2.87:27017",
"health" : 1.0,
"state" : 5,
"stateStr" : "SECONDARY",
"uptime" : 148,
"optime" : {
"ts" : Timestamp(6363490787761586, 1),
"t" : NumberLong(29)
},
"optimeDate" : ISODate("2016-12-13T07:54:16.000Z"),
"infoMessage" : "could not find member to sync from",
"configVersion" : 3,
"self" : true
},
{
"_id" : 1,
"name" : "10.20.2.95:27017",
"health" : 1.0,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 146,
"optime" : {
"ts" : Timestamp(6363490787761586, 1),
"t" : NumberLong(29)
},
"optimeDate" : ISODate("2016-12-13T07:54:16.000Z"),
"lastHeartbeat" : ISODate("2016-12-13T08:27:58.435Z"),
"lastHeartbeatRecv" : ISODate("2016-12-13T08:27:59.447Z"),
"pingMs" : NumberLong(0),
"electionTime" : Timestamp(6363486827801739, 1),
"electionDate" : ISODate("2016-12-13T07:38:54.000Z"),
"configVersion" : 3
},
{
"_id" : 2,
"name" : "10.20.2.93:30001",
"health" : 1.0,
"state" : 7,
"stateStr" : "ARBITER",
"uptime" : 146,
"lastHeartbeat" : ISODate("2016-12-13T08:27:58.437Z"),
"lastHeartbeatRecv" : ISODate("2016-12-13T08:27:59.394Z"),
"pingMs" : NumberLong(0),
"configVersion" : 3
}
],
"ok" : 1.0
}
私の第二のメンバーが `から同期するメンバーを見つけることができませんでした示していないなぜ、しかし、私の主が稼働している。」
私のコレクションは6台のサーバ上で、シャードであり、私はこのメッセージを持っています2人のレプリカセットのメンバー。レプリケーションセットのステータスを要求するときmembers
配列内の上部にSECONDARY
メンバーを持っているものに。
私は本当にこのエラーメッセージを取り除くしたいと思います。 それは
:-)私をおびえさせます種類は、私は同様の問題を抱えていた、そしてそれは、ハートビートタイムアウトが短すぎたという事実によるものだった