3つの異なるマシン上で動作するESを持つESクラスタを作成しました。それらをクラスタにするために、私はelasticsearch.yml設定ファイル内の3つのマシン全てに以下のようなユニキャスト設定を追加しました。私は3としてESクラスタからシャードを割り出すことができません
curl -XGET localhost:9200/_cluster/health?pretty
アムなっNo_of_nodesを実行
discovery.zen.ping.unicast.hosts:[IP1, IP2, IP3]
は今、私は、以下のコマンドを実行したすべての設定ファイルを変更することなく、クラスタ soから1つのノードを削除したい
curl -XPUT localhost:9200/_cluster/settings -d '{
"transient" :{
"cluster.routing.allocation.exclude._ip" : "IP_adress_of_Node3"
}
}';
これを実行した後、2番目のコマンドを再度実行してクラスタの詳細を取得すると、期待される出力はNO_of_nodesが2である必要がありますが、結果としてノード数= 3まだ表示されていますnノードを除外した後ノードを削除するための手順で間違っていることを誰かに教えてもらえると大きな助けになります。
おかげ
入力していただきありがとうございます。ユニキャストで作成したエントリは適切ですので、もう1つはありますか?私は私の設定ファイルで私はすべての3つのマシンの設定ファイルのすべての3つのノードのエントリを作ったと言うことを意味する正しい方法ですか? –
また、除外APIを使用すると、除外されたIPの下のシャードを残りのノードに移動する必要がありますが、私のケースでは除外とマークされたノードの下にシャードが表示されます。何が問題になる可能性がありますか –
シャード(レプリケーションファクタ、ディスクスペースなど)を再割り当てしようとすると、Elasticsearchが考慮する他にも、特定のケースではシャードを再割り当てしない理由がいくつかあります。アロケーションの説明api(https://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-allocation-explain.html)を実行して、その出力で新しい質問を作成できますか? –