ここで大きな助けを必要とするのは、これが本番環境に影響を与えているからです。メモリが少なくてMongoDbのレプリカサーバーが強制終了しますか?
レプリカ・サーバの一つは、メモリ不足のため失敗し(kern.logからピースのチャンク下記参照)
kernel: [80110.848341] Out of memory: kill process 4643 (mongod) score 214181 or a child
kernel: [80110.848349] Killed process 4643 (mongod)
UPDATE
kernel: mongod invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0
kernel: [85544.157191] mongod cpuset=/ mems_allowed=0
kernel: [85544.157195] Pid: 7545, comm: mongod Not tainted 2.6.32-318-ec2
洞察:
- プライマリサーバのDBサイズ50GBのうち30GBがインデックスで埋められています。
- プライマリサーバーには7GBのRAMがあり、セカンダリサーバーには3.1GBのRAMがあります。
- どちらのサーバも64ビットマシンで、Debian/Ubuntuを実行しています。両方のサーバー
ノートにモンゴ2.0.2を実行
はい、この問題は再同期中に起こっています - このサーバーをインストールしてレプリカメンバーとして追加しました。Mongoはセカンダリサーバー(?)で再同期すると思います –
セカンダリにスワップパーティションがありますか?すべての可能性は、同期とその後のインデックスのビルドがRAMをあまりにも多く消費しているので、それは殺されている - スワップはそれを停止する必要がありますが、ゆっくりと実行することを意味します –
あなたの提案として私は、それが助けになるかどうか見てみましょう。 –