Elasticsearchの停止

Elasticsearchの秩序あるシャットダウンは、Elasticsearchがクリーンアップを行い、未処理のリソースを閉じる機会を確保します。たとえば、秩序ある方法でシャットダウンされたノードは、クラスターから自らを削除し、トランスログをディスクに同期し、その他の関連するクリーンアップ作業を実行します。Elasticsearchを適切に停止することで、秩序あるシャットダウンを確保できます。

Elasticsearchをサービスとして実行している場合、インストールによって提供されるサービス管理機能を介してElasticsearchを停止できます。

Elasticsearchを直接実行している場合、コンソールでElasticsearchを実行している場合はcontrol-Cを送信するか、POSIXシステム上のElasticsearchプロセスにSIGTERMを送信することでElasticsearchを停止できます。信号を送信するためのPIDは、さまざまなツール(例:psまたはjps)を使用して取得できます:

  1. $ jps | grep Elasticsearch
  2. 14542 Elasticsearch

Elasticsearchの起動ログから:

  1. [2016-07-07 12:26:18,908][INFO ][node ] [I8hydUG] version[5.0.0-alpha4], pid[15399], build[3f5b994/2016-06-27T16:23:46.861Z], OS[Mac OS X/10.11.5/x86_64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_92/25.92-b14]

または、起動時にPIDファイルを書き込む場所を指定することによって(-p <path>):

  1. $ ./bin/elasticsearch -p /tmp/elasticsearch-pid -d
  2. $ cat /tmp/elasticsearch-pid && echo
  3. 15516
  4. $ kill -SIGTERM 15516

致命的エラー時の停止

Elasticsearch仮想マシンのライフサイクル中に、仮想マシンを疑わしい状態にする致命的なエラーが発生する可能性があります。このような致命的なエラーには、メモリ不足エラー、仮想マシン内の内部エラー、深刻なI/Oエラーが含まれます。

Elasticsearchが仮想マシンがそのような致命的なエラーに遭遇したことを検出すると、Elasticsearchはエラーをログに記録し、その後仮想マシンを停止しようとします。Elasticsearchがそのようなシャットダウンを開始すると、上記のような秩序あるシャットダウンを経ることはありません。Elasticsearchプロセスは、エラーの性質を示す特別なステータスコードを返します。

jvmkillerエージェントによって終了 158
ユーザーまたはカーネルSIGTERM 143
カーネルoom-killerによって殺された 137
セグメンテーションフォルト 134
JVM内部エラー 128
メモリ不足エラー 127
スタックオーバーフローエラー 126
不明な仮想マシンエラー 125
深刻なI/Oエラー 124
ブートストラップチェック失敗 78
不明な致命的エラー 1