私は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
更新してくださいあなたの質問で説明:9200/_cat/shards?v'と 'curl localhost:9200/_cat/indices?v' – Val
あなたのすべてのノードは正常に稼動していますか? 'curl localhost:9200/_cat/nodes?v' – Val
3つのノード(2つのデータノード+ 1つのマスターノード)がダウンしていますが、十分なレプリケーションとzen.minimum必要なマスターノードがあります – avr