2012-08-16 16 views
11

Come si dice nel documento ZooKeeper, è necessario supervisionarlo con uno strumento come daemontools. Ma il documento non fornisce alcun esempio e l'unico modo che conosco per avviare ZooKeeper è avviare bin/zkServer.sh start. Ho in programma di usare supervisord per fare il lavoro, ma come scrivere la sezione [program: zookeeper] è al di là di me. Ogni esempio sarà fantastico. Grazie.Supervisiona ZooKeeper con Supervisord

Finora Ci sono due soluzioni:

  1. utilizzare l'ultimo codice GitHub, fornisce opzioni stopasgroup e killasgroup.
  2. esegui bin/zkServer.sh print-cmd e copia l'output in "command" di supervisord, rimuovi l'argomento pipe e aggiungi stdout_logfile, stderr_logfile. Come il seguente:
 
    [program:zookeeper] 
    command = /usr/lib/jvm/java-1.7.0-openjdk.x86_64/bin/java -Dzookeeper.log.dir="." -Dzookeeper.root.logger="INFO,CONSOLE" -cp "/home/jizhang/Applications/zookeeper/bin/../build/classes:/home/jizhang/Applications/zookeeper/bin/../build/lib/*.jar:/home/jizhang/Applications/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/home/jizhang/Applications/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/home/jizhang/Applications/zookeeper/bin/../lib/netty-3.2.2.Final.jar:/home/jizhang/Applications/zookeeper/bin/../lib/log4j-1.2.15.jar:/home/jizhang/Applications/zookeeper/bin/../lib/jline-0.9.94.jar:/home/jizhang/Applications/zookeeper/bin/../zookeeper-3.4.3.jar:/home/jizhang/Applications/zookeeper/bin/../src/java/lib/*.jar:/home/jizhang/Applications/zookeeper/bin/../conf:" -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain "/home/jizhang/Applications/zookeeper/bin/../conf/zoo.cfg" 
    stdout_logfile = /home/jizhang/Applications/zookeeper/zookeeper.out 
    stderr_logfile = /home/jizhang/Applications/zookeeper/zookeeper.err 
    autorestart = true 
+0

possibile duplicazione di [supervisord stopping child processes] (http://stackoverflow.com/questions/9090683/supervisord-stopping-child-processes) –

risposta

10

C'è una domanda simile here

[program:zookeeper] 
command=zkServer.sh start-foreground 
autorestart=true 
stopsignal=KILL 

Tale questione cita un problema uccidendo il processo, e io non sono sicuro se c'è ancora una soluzione.

+0

Sembra che il supervisore più recente abbia acquisito questa funzione. doc qui http://supervisord.org/configuration.html opzione: stopasgroup –

+0

@Jerry: "Introdotto: 3.0a13". La versione corrente è 3.0a12, la documentazione sembra essere generata dal repository GitHub. –

+0

@MartijnPieters Non mi meraviglia che non funzioni ... –

Problemi correlati