10

私はmongodbでかなり新しいです

レプリカセットがあります 3 ノード 1 プライマリ (A) 1 セカンダリ (B) 1 アービター (C)

レプリカ セットは、3 つのノードが 3 つの異なる都市にある MMS を使用して作成されました

毎回1秒以上続くセカンダリで次のエラーが発生し続けます

  1. それは正常ですか
  2. それを修正する方法がわからない場合

           {
                    "_id" : 1,
                    "name" : "B:27017",
                    "health" : 1,
                    "state" : 2,
                    "stateStr" : "SECONDARY",
                    "uptime" : 1213371,
                    "optime" : Timestamp(1434051221, 1),
                    "optimeDate" : ISODate("2015-06-11T19:33:41Z"),
                    "infoMessage" : **"could not find member to sync from"**,
                    "configVersion" : 4,
                    "self" : true
            },
    

ありがとうございました

よろしく

フィリップ・クルトワ

4

4 に答える 4

1

あなたの oplog がいっぱいでありますように。oplog のサイズを増やすことができます。

これをやってみてください

  1. プライマリをシャットダウンします
  2. データ ファイルへの直接アクセスを使用して oplog のバックアップを作成する
  3. スタンドアロンモードでmongodを再起動します
  4. 現在の oplog を一時コレクションにコピーします
  5. 現在の oplog を削除する
  6. 目的のサイズで oplog を再作成します
  7. oplog エントリを一時コレクションから光沢のある新しい oplog にコピーして戻します
  8. レプリカ セットの一部として mongod を再起動します。

詳細については、次を参照してください。 Oplog のサイズを変更する

于 2017-08-21T22:31:18.333 に答える
0

これは私のために働いたものです:

rs.syncFromプライマリ ホストを引数としてセカンダリからコマンドを実行します。私の場合、open5gs-mongodb-0.mongodb-svc:27017プライマリとopen5gs-mongodb-1.mongodb-svc:27017セカンダリです。open5gs-mongodb-1.mongodb-svc:27017そこで、セカンダリ レプリカ ( )で実行されている mongod シェルから次のコマンドを実行しました。

rs0:SECONDARY> rs.syncFrom("open5gs-mongodb-0.mongodb-svc:27017")
{
    "syncFromRequested" : "open5gs-mongodb-0.mongodb-svc:27017",
    "prevSyncTarget" : "open5gs-mongodb-0.mongodb-svc:27017",
    "ok" : 1,
    "$clusterTime" : {
        "clusterTime" : Timestamp(1642373299, 1),
        "signature" : {
            "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
            "keyId" : NumberLong(0)
        }
    },
    "operationTime" : Timestamp(1642373299, 1)
}
于 2022-01-16T22:52:13.507 に答える