2017-05-04 4 views
0

私はsupervisordを通してelasticsearchを実行しようとしています。これを行うには、バックグラウンドで実行せずにelasticsearchを開始するコマンドが必要です。私の現在のsupervisordスクリプトがsudoの代わりに/etc/init.d/elasticsearch start

[program:elasticsearch] 
command=/etc/init.d/elasticsearch start 
autostart=true 
autorestart=true 
startretries=3 
user=root 
stdout_logfile=/var/www/elasticsearch_std.log 

のように見えますが、「/etc/init.d/elasticsearchスタート」コマンドを実行すると、バックグラウンドでelasticsearchいるので、それは、できるだけ早くコマンドは打ち上げ成功を返すよう再びelasticsearch開始しようとします

DEBG 'elasticsearch' stdout output: 
* Already running. 
    ...done. 

私はスーパーバイザに3回再起動するように指示していたので、それを3回その前に中止します。しかし、この目的はもちろん、スーパーバイザーがクラッシュの際に弾性探査を再開すべきであるということです。 フォアグラウンドでelasticsearchを開始するコマンドが必要です。

EDIT: 私はすでに/ etcにある

-Xms256m 
-Xmx256m 

を設定しているので、私は

/usr/share/elasticsearch/bin/elasticsearch -Epath.conf=/etc/elasticsearch -Epath.logs=/var/log/elasticsearch -Epath.data=/var/lib/elasticsearch 
Error: encountered environment variables that are no longer supported 
Use jvm.options or ES_JAVA_OPTS to configure the JVM 
ES_HEAP_SIZE=256m: set -Xms256m and -Xmx256m in jvm.options or add "-Xms256m -Xmx256m" to ES_JAVA_OPTS 

を実行しようとしたhttps://www.elastic.co/guide/en/elasticsearch/reference/current/settings.htmlから以下の提案とelasticsearch命令の次の私は、このエラーメッセージを理解していません/ elasticsearch/jvm.options

EDIT2:これらのパラメータを環境から設定しようとしましたが、 RKのいずれか

ES_JAVA_OPTS="-Xms256m -Xmx256m" /usr/share/elasticsearch/bin/elasticsearch -Epath.conf=/etc/elasticsearch -Epath.logs=/var/log/elasticsearch -Epath.data=/var/lib/elasticsearch 
Error: encountered environment variables that are no longer supported 
Use jvm.options or ES_JAVA_OPTS to configure the JVM 
ES_HEAP_SIZE=256m: set -Xms256m and -Xmx256m in jvm.options or add "-Xms256m -Xmx256m" to ES_JAVA_OPTS 

は、/ etc/default/elasticsearchファイルが

ES_STARTUP_SLEEP_TIME=5 

答えて

2

スタートelasticsearchと直接bin/elasticsearch以外コメントアウトすべての行を持っています。 initファイルを使用するとすぐにデーモン化して終了しますが、スーパーバイザには適していません。それに応じてパスを交換

command=/usr/share/elasticsearch/bin/elasticsearch 
    -Edefault.path.conf=/etc/elasticsearch 
    -Edefault.path.logs=/var/log/elasticsearch 
    -Edefault.path.data=/var/lib/elasticsearch 

: は代わりに、のようなものにコマンド属性を設定します。

また、default.path.confを設定し、データとログの設定(他の中のもの)のためにYAMLファイルを編集することもできます。

+0

あなたの助けを感謝します。fernandezcuesta ...上記の私の編集を参照してください。 – carl

+0

'/ etc/default/elasticsearch'の下にあるものはありますか?スーパーバイザconfのプログラムエントリに 'environment = ES_JAVA_OPTS =" - Xms256m -Xmx256m "'を追加してみてください。 – fernandezcuesta

+0

そのフォルダが空ではない – carl