2016-05-25 12 views
1
  • 私は250万のドキュメント(各ドキュメントは非常に大きい)と4つのインデックスを持つ非常に大きなDBを持つ1メンバmongodインスタンス(Server1)を持っています。
  • 次に、このレプリカセットに別のマシン(Server2)を追加しました。 Server2のMongodはこの大きなデータベースのすべてのドキュメントをフェッチするのに約5時間かかります。
  • すべてのドキュメントがServer2によってフェッチされた後、2次インデックスが作成されます。インデックスが終了するまでに約3時間かかります。MongoDB初期同期が繰り返し失敗する(Mongodb 3.2、Azure VMのUbuntu 16.04)

    • セカンダリインデックスの作成が完了した直後に、プライマリに接続しようとし、そのソケットが期限切れでタイムアウトしていることがわかります。
    • タイムアウトエラーが発生すると、(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 
  • それはこのレプリカセットを同期しようとして非常に非常にイライラされています。最初の同期を繰り返し続けます。どんな助けも高く評価されます。
+0

サーバ設定が何でありますか?データのサイズは?レプリカセットには何人のメンバーがいますか? – Astro

+0

サーバーの設定?デフォルト値ではかなり標準です。問題の原因となっているDBだけのサイズは約200GBです。レプリカセットには3人のメンバーがいます。主要な人と残りの人の2人がSTARTUP2からSecondaryに卒業することができません。 – VaidAbhishek

+0

同じ期間に、ログを取得しているサーバからのログを確認すると便利です。 – user3973

答えて

関連する問題