4つのノードを持つESクラスターがあります。
number_of_replicas: 1
search01 - master: false, data: false
search02 - master: true, data: true
search03 - master: false, data: true
search04 - master: false, data: true
私はsearch03を再起動する必要があり、戻ってきたときに問題なくクラスターに再参加しましたが、割り当てられていない7つのシャードが残っていました。
{
"cluster_name" : "tweedle",
"status" : "yellow",
"timed_out" : false,
"number_of_nodes" : 4,
"number_of_data_nodes" : 3,
"active_primary_shards" : 15,
"active_shards" : 23,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 7
}
現在、クラスターは黄色の状態です。この問題を解決する最良の方法は何ですか?
- シャードを削除(キャンセル)しますか?
- シャードを別のノードに移動しますか?
- ノードにシャードを割り当てますか?
- 「number_of_replicas」を2に更新しますか?
- 他に完全に何か?
興味深いことに、新しいインデックスが追加されると、そのノードはそのインデックスで作業を開始し、クラスターの残りの部分でうまく機能しましたが、割り当てられていないシャードが残ったままになっています。
質問に従ってください:これを最初に起こすために何か間違ったことをしていますか?ノードを再起動したときにこのように動作するクラスターには、あまり自信がありません。
注:何らかの理由で単一ノードのクラスターを実行している場合は、単に次の操作を行う必要がある場合があります。
curl -XPUT 'localhost:9200/_settings' -d '
{
"index" : {
"number_of_replicas" : 0
}
}'
{ "error" : "ElasticsearchIllegalArgumentException[[allocate] failed to find [logstash-2015.01.05][1] on the list of unassigned shards]", "status" : 400 }
シャードはESヘッドの未割り当ての1つであることがわかります