- 250 万のドキュメント (各ドキュメントは非常に大きい) と 4 つのインデックスを持つ非常に大きな DB を持つ 1 つのメンバーの mongod インスタンス (Server1) があります。
- 次に、別のマシン (Server2) をこのレプリカ セットに追加しました。Server2 の Mongod は、この大きなデータベース内のすべてのドキュメントを取得するのに約 5 時間かかります。
すべてのドキュメントが Server2 によってフェッチされた後、セカンダリ インデックスの作成が開始されます。インデックスが完成するまで約 3 時間かかります。
- セカンダリ インデックスの構築が完了した直後に、プライマリに接続しようとすると、ソケットの有効期限が切れてタイムアウトになっていることがわかります。
タイムアウト エラーを受信すると、サーバー (Server2) は単純にすべてのデータベースを削除し、最初の同期を再開します。
ログのスニペットは次のとおりです。
2016-05-25T11:50:36.053+0000 I - [rsSync] Index Build: 2211700/2215091 99% 2016-05-25T11:50:39.221+0000 I - [rsSync] Index Build: 2212000/2215091 99% 2016-05-25T11:50:43.300+0000 I - [rsSync] Index Build: 2212300/2215091 99% 2016-05-25T11:50:46.103+0000 I - [rsSync] Index Build: 2212500/2215091 99% 2016-05-25T11:50:49.068+0000 I - [rsSync] Index Build: 2212800/2215091 99% 2016-05-25T11:50:52.218+0000 I - [rsSync] Index Build: 2213600/2215091 99% 2016-05-25T11:50:55.439+0000 I - [rsSync] Index Build: 2214500/2215091 99% 2016-05-25T11:50:58.738+0000 I - [rsSync] Index Build: 2214700/2215091 99% 2016-05-25T11:51:13.223+0000 I - [rsSync] Index: (2/3) BTree Bottom Up Progress: 536600/2215091 24% 2016-05-25T11:51:23.285+0000 I - [rsSync] Index: (2/3) BTree Bottom Up Progress: 1984500/2215091 89% 2016-05-25T11:51:24.317+0000 I INDEX [rsSync] done building bottom layer, going to commit 2016-05-25T11:51:24.508+0000 I INDEX [rsSync] build index done. scanned 2215091 total records. 10491 secs 2016-05-25T11:51:25.082+0000 I NETWORK [rsSync] Socket say send() errno:110 Connection timed out xx.xx.xx.xx:27017 2016-05-25T11:51:25.106+0000 E REPL [rsSync] 9001 socket exception [SEND_ERROR] server [xx.xx.xx.xx:27017] 2016-05-25T11:51:25.106+0000 E REPL [rsSync] initial sync attempt failed, 9 attempts remaining 2016-05-25T11:51:30.106+0000 I REPL [rsSync] initial sync pending 2016-05-25T11:51:30.433+0000 I REPL [ReplicationExecutor] syncing from: xx.xx.xx.xx:27017 2016-05-25T11:51:30.563+0000 I REPL [rsSync] initial sync drop all databases 2016-05-25T11:51:30.564+0000 I STORAGE [rsSync] dropAllDatabasesExceptLocal 42 2016-05-25T11:51:31.925+0000 I JOURNAL [rsSync] journalCleanup... 2016-05-25T11:51:31.925+0000 I JOURNAL [rsSync] removeJournalFiles 2016-05-25T11:51:32.331+0000 I JOURNAL [rsSync] journalCleanup... 2016-05-25T11:51:32.332+0000 I JOURNAL [rsSync] removeJournalFiles 2016-05-25T11:51:32.489+0000 I JOURNAL [rsSync] journalCleanup... 2016-05-25T11:51:32.489+0000 I JOURNAL [rsSync] removeJournalFiles
- このレプリカ セットを同期しようとすると、非常にイライラします。初期同期を何度も繰り返します。どんな助けでも大歓迎です。