2017-05-04 4 views
0

Ich versuche, elasticsearch durch supervisord zu laufen. Dazu brauche ich einen Befehl, um elasticsearch zu starten, ohne es im Hintergrund laufen zu lassen. Mein aktueller supervisord Skript sieht aus wieAlternative zu 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 

aber da der Befehl ausgeführt Elasticsearch im Hintergrund ‚/etc/init.d/elasticsearch starten‘, versucht es erneut zu starten Elasticsearch sobald der Befehl einen erfolgreichen Start zurückkehrt, Die Ergebnisse in

Da ich Supervisord 3 Mal neu starten, wird es tun, dass dreimal vor dem Aufgeben. Der Zweck davon ist natürlich, dass Supervisord elasticsearch im Falle eines Absturzes neu starten sollte. Also brauche ich einen Befehl, der elasticsearch im Vordergrund startet.

EDIT: Nach dem Vorschlag unten und die Elasticsearch Anweisung von https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html habe ich versucht,

/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 

ich diese Fehlermeldung nicht verstehen, zu laufen, da ich bereits

-Xms256m 
-Xmx256m 

in/etc gesetzt/elasticsearch/jvm.options

EDIT2: Ich habe auch versucht, diese Parameter durch die Umgebung zu setzen, die nicht ging rk entweder

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 

die Datei/etc/default/Elasticsearch Datei hat alle Zeilen kommentiert, außer

ES_STARTUP_SLEEP_TIME=5 

Antwort

2

starten Elasticsearch direkt mit bin/elasticsearch. Mit der Init-Datei wird sofort dämonisiert und beendet, was für den Supervisor nicht geeignet ist. Setzen Sie stattdessen den Befehl Attribut so etwas wie:

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

die Pfade entsprechend zu ersetzen.

Sie können auch die default.path.conf festlegen und die YAML-Datei darin für die Daten und Protokolleinstellungen bearbeiten (unter anderem).

+0

danke für ihre hilfe fernandezcuesta ... bitte sehe meine edits oben – carl

+0

alles unter '/ etc/default/elasticsearch'? Sie können auch versuchen, 'environment = ES_JAVA_OPTS =" - Xms256m -Xmx256m "' im Programmeintrag Ihres supervisord conf hinzuzufügen. – fernandezcuesta

+0

Nein, dieser Ordner ist leer – carl