elasticsearch.yml の以下の設定を検討してください。
gateway.recover_after_data_nodes: 3
gateway.recover_after_time: 5m
gateway.expected_data_nodes: 3
現在の設定: たとえば、3 つのデータ ノードがあるとします。ここで、(設定の小さな変更により) データ ノードを再起動することにした場合、expected_data_nodes 設定に従って、ノードの再起動直後に復旧が開始されます。割り当てられていないシャードが多数あり、含まれるデータに応じてゆっくりと割り当てられます。
それを避けるために、割り当てられていないすべてのシャードを特定のノード (私の場合は再起動されたノード) に割り当てる方法はありますか?それが完了すると、ES がリバランスを引き継ぐ必要があります。
主に、クラスタの状態が黄色から緑色に変わるまでの大きなタイムラグを避けたい (私の場合は数時間の範囲内です)。
この目的でクラスター再ルーティング API を使用できますか?
または、割り当てられていないすべてのシャードを一度に特定のノードに転送する他の API はありますか?