2016-07-20 15 views
0

私はelasticsearch 2.1.1を使用しており、8ノード(3マスターノード+ 5データノード)のクラスタを持っています。私は完全なクラスタの再起動を試みましたが、奇妙な問題(私はログで問題を見つけることができませんでした)で終わった。Elasticsearch:完全なクラスタ再起動時 - シャードが回復せず、未割り当てのシャードとして残ります

すべてのノードをシャットダウンして再起動しました。ここまではすべてがうまくいっていましたが、再開後に破片は回復しておらず、未割り当ての状態に固執しました。

クラスタに十分なディスク容量があり、すべてのデータノードを再起動しました。まだすべての破片は単に回復していませんでした。 誰かが私にこれを助けることができますか?

私はgateway.recover_after_nodes"cluster.routing.allocation.enable": "all"などの微調整の設定を試みたが、成功しませんでした。

更新:

ここでの問題は、私は私が5 datanodesの主に含まれるデータの5つのコピーを持っていたレプリカ4すなわちを持っていた当初です。私がクラスタを再起動したとき、データのコピーを最大3つしか持たないデータノードを3つだけ起動しましたが、古くなったシャードコピーの割り当てを防ぐために、ESはindex.recovery.initial_shardsという名前のconfigを使用します(デフォルト値はクォーラムです)。ですから、フルクラスタ再起動から断片を回復させるには、少なくともクォーラムデータノードを作成するか、それに応じてレプリカを減らす必要があります(私の場合は< = 3)。

編集:GET /_cat/indices?v

サンプルの結果(これらのような多くのインデックスを持つ):

health status index       pri rep docs.count docs.deleted store.size pri.store.size 
red open kafka8-2016.07    10 3             
red open kafka8-2016.06    10 3             
red open .kibana      1 3 

GET /_cat/shards?v

index    shard prirep state  docs store ip node 
kafka8-2016.07  5  p  UNASSIGNED      
kafka8-2016.07  5  r  UNASSIGNED      
kafka8-2016.07  5  r  UNASSIGNED      
kafka8-2016.07  5  r  UNASSIGNED      
kafka8-2016.07  1  p  UNASSIGNED      
kafka8-2016.07  1  r  UNASSIGNED      
kafka8-2016.07  1  r  UNASSIGNED      
kafka8-2016.07  1  r  UNASSIGNED 

結果のサンプルの結果(これらのような多くの破片を持っています) GET _cat/nodes?v

host ip heap.percent ram.percent load node.role master name  
host1 ip1   0   82 0.00 d   -  data-3 
host2 ip2   0   87 0.00 d   -  data-4 
host3 ip3   1   80 0.00 -   *  master-2 
host4 ip4   1   73 0.00 -   m  master-1 
host4 ip5   1   84 0.00 d   -  data-1 
+0

更新してくださいあなたの質問で説明:9200/_cat/shards?v'と 'curl localhost:9200/_cat/indices?v' – Val

+0

あなたのすべてのノードは正常に稼動していますか? 'curl localhost:9200/_cat/nodes?v' – Val

+0

3つのノード(2つのデータノード+ 1つのマスターノード)がダウンしていますが、十分なレプリケーションとzen.minimum必要なマスターノードがあります – avr

答えて

0

完全クラスタを再起動するときは、少なくともデータノードのクォーラムを開始する必要があります。これは、無効なシャードコピーの割り当てを防止するindex.recovery.initial_shardsによって構成されます。

index.recovery.initial_shards

プライマリー 形態定足数に十分なレプリカを割り当てる十分なノードがある場合にのみだけ を回収します。

定足数(デフォルト)

定足数-1(または半分)

フル

フル1:それは次のように設定することができます。

数値は もサポートされています。 1。

あなたが同様の問題を見つけることができる公式ドキュメント

hereでこの設定についての詳細を読むことができますが、あなたは `カールローカルホストを実行しているから得る結果とこのelasticsearch github comment

関連する問題