2016-09-08 5 views
0

私はクラスタelasticsearchに大きな問題があります。私は3つのノードを持っています、1つのノードがelasticsearchを停止し、クラスタが赤くなります、私はservice elasticsearch restartですべてのノードを再起動しました、すべてのノードが接続され、再起動するようになりましたが、マスターノードで約2時間後、Elasticsearch %のcpuとポート9200/9300で応答していないので、クラスタが落ちる...これは、クラスタが再起動するたびに繰り返されます。マスターの内容に関係なく、私は何をすべきか分かりません。私は絶望的です。私を助けることができますか?再探索中に弾性探索クラスタが失敗する

UPDATE クラスタの構成である。

cluster.name: es-cluster 
node.name: es-node1 
bootstrap.mlockall: true 
discovery.zen.ping.unicast.hosts: ["ec2-52-208-103-xxx.eu-west-1.compute.amazonaws.com", "ec2-52-51-160-xxx.eu-west-1.compute.amazonaws.com", "ec2-52-208-167-xxx.eu-west-1.compute.amazonaws.com"] 
discovery.zen.minimum_master_nodes: 2 
discovery.zen.ping.multicast.enabled: false 
node.master: true 
node.data: true 
network.bind_host: 0.0.0.0 
network.publish_host: ec2-52-208-103-xxx.eu-west-1.compute.amazonaws.com 

iができ終了したら、すべてのノード例外network.publish_hostnode.name ための同じ構成が今2つのノードとreshardingに減少クラスタIDが、進行中ですとにかくクラスタを使用しますか? それは間違った設定ですか?何ヶ月も正しく動作しています

+0

どのくらいのデータがありますか?十分なデータがある場合は、正しく構成されていないと、クラスタが再起動するまでに数時間かかることがあります。 – Val

+0

はい、私は言っていますが、マスターノードが機能しなくなり、クラスタがダウンして、今度はコンフィグレーションを投稿します – Steph

答えて

0

どのバージョンのElasticsearchですか?あなたが遭遇しているかもしれないバグの点で、問題の種類。

あなたのクラスタはどのような状態にありますか?

各ノードのエラーをログで確認してください。おそらく、すべてのノードがガベージコレクションとメモリ不足のいずれかです。もしそうなら、ガベージ・コレクションに関連した警告、場合によってはいくつかのOutOfMemoryExceptionsもログに記録されます。それは彼らが無反応であることを完全に説明します。クラスタ管理に関するあらゆる種類の問題を引き起こす可能性があります。このため、より大きな設定でマスターノードをデータノードから分離することをお勧めします。

応答しないノードを修正した場合(つまり、まだインデックスが作成されていない場合は、再起動しても問題が解決しない場合)/_cat/shardsおよび/ _cat/indices apisを使用して、どのインデックスに問題があるか調べることができます。また、特定のシャードに問題があるかどうかをログに表示します。

この時点では、クラスタは以前の再起動のために赤くなっています(これを実行しないでください。これは、クラスタを黄色から赤色にする確実な方法です)。だからあなたはおそらくいくつかのデータを失うだろう。おそらく、いくつかの割り当てられていない断片もあります。プライマリシャードがまだ残っている場合は、レプリカの数を0に減らしてからもう一度増やしてください(危険です、注意してください)。これは、クラスタを健康状態に戻すのに役立ちます。あるいは、影響を受けるインデックスを気にしない場合は削除してください。

あなたのクラスタが黄色い場合は、ノードを追加してシャードを再ルーティングすることができます。クラスタが緑色になると、問題のあるノードを1つずつ取り除くことができます(黄色のクラスタでこれを実行しないでください)。

あなたが物事を稼働させているときには、あなたがメモリ不足の理由に対処する必要があります。無限のデータストアではありません。あなたは高価なクエリを実行しているか、あまりにも多くのデータを索引付けしているか、またははっきりと拡大縮小していないものを実行している可能性があります。

私はほんの数週間前に同様の状況に陥り、ヒープ上にある多くのフィールドデータ(これは1.xクラスタでした)を持つ巨大な破片と組み合わせた制御不能集計クエリに根本原因をもたらしました。また、クラスタのリバランスを妨げる1.7.4の既知の問題も発生していました。私は次のように緩和した。1)シャードサイズを減らす必要がない古いデータを削除する。2)シャードの数を増やしてシャードが小さくなるようにする。3)クエリを安価に修正する。 4)1.7.5にアップグレードして、同じバグがクラスタを再び殺しないようにします。

+0

ES 2.3.3を使用していますが、インデックス作成をやめるとアプリケーションはElasticsearchでログを書き続けることができますか? – Steph

+0

あなたのクラスタが転倒している場合のポイントは何ですか? –