web-dev-qa-db-ja.com

elasticsearchノードを再起動します

Elasticsearchでノードを再起動する適切な方法は何ですか? (できればREST API、Java APIも大丈夫かもしれません)

52
user1768906

ノードを再起動する正しい方法は、 shutdown API を使用するか、プロセスにTERM信号を送信することでシャットダウンすることです(たとえば、kill $PID)。

シャットダウンしたら、サービス検索ラッパーなど、elasticsearchの実行に使用するものを使用して、またはコマンドラインから起動するだけで、新しいノードを起動できます。

サービスラッパーを使用している場合は、restartコマンドを渡すことでノードを再起動できます。例:/etc/init.d/elasticsearch restartしかし、それは上記の単なる便利なラッパーです。

restart AP​​Iは問題があったため、バージョン0.11以降無効になっています。

66
DrTech

ノードがダウンしたり、新しいノードが起動したりするたびに、クラスターはシャードを再配布します。これは、ノードを再起動するだけの場合は望ましくない可能性があるため、ローリング再起動を利用できます。

  1. 最初にシャード割り当てを無効にします。

    PUT/_cluster/settings {"transient":{"cluster.routing.allocation.enable": "none"}}

  2. ノードを再起動service elasticsearch restart

  3. シャード割り当てを有効にします。

    PUT/_cluster/settings {"transient":{"cluster.routing.allocation.enable": "all"}}

これについての詳細: ここ

7
Tiago Lopo

shutdown API に類似した再起動APIがあります。 「シャットダウン」を「再起動」に置き換えるだけです。 githubの問題 も参照してください。

7
Kim Stebel