2 つのシャーディングを持つ mongodb があり、各シャーディングにはこれらのサーバーがあります。
- シャード 1: マスター、MongoD および構成サーバーを実行
- シャード 1-s1: スレーブ、MongoD および MongoS サーバーを実行
- シャード 1-s2: スレーブ、MongoD と MongoS および Arbiter サーバーを実行
- シャード 2: MongoD と構成サーバーを実行するマスター
- シャード 2-s1: スレーブ、MongoD と Config および MongoS サーバーを実行
- シャード 2-s2: スレーブ、MongoD と MongoS および Arbiter サーバーを実行
しかし、最近mongodbは常に失敗しました。数日間の検索の後、MongoDがシャード1(マスター)で実行され、接続が多すぎると常にダウンすることがわかりました。他のMongoDにはこの問題はありません。
S1Master の MongoD が多すぎる接続で約 2 時間実行されると、4 つの Mongos サーバーが 1 つずつシャットダウンします。Mongos のエラー ログは次のとおりです (10.81.4.72:7100 は MongoD を実行します)。
Tue Aug 20 20:01:52 [conn8526] DBClientCursor::init call() failed Tue Aug 20 20:01:52 [conn3897] ns: user.dev はすべてのシャードでカーソルを初期化できませんでした: ns の古い設定が検出されました:ユーザー。dev ParallelCursor::_init @ s01/10.36.31.36:7100,10.42.50.24:7100,10.81.4.72:7100 試行: 0 8 月 20 日火曜日 20:01:52 [conn744] ns: user.dev はすべてのカーソルを初期化できませんでしたシャードの理由: ns の古い構成が検出されました: user.d ev ParallelCursor::_init @ s01/10.36.31.36:7100,10.42.50.24:7100,10.81.4.72:7100 試行: 0
なぜこの mongod がこれほど多くの接続を復活させたのかはわかりませんが、チャンクはシャーディングがうまく機能していることを示しています。