2012-08-16 23 views
11

ZooKeeper'in belgesinde belirtildiği gibi, onu daemontools gibi bir araçla denetlemek gerekir. Ancak, doc hiçbir örnek sunmuyor ve ZooKeeper'ı başlatmanın tek yolu bin/zkServer.sh startını çalıştırıyor. İşi yapmak için süpervizörü kullanmayı planlıyorum, ama [program: zookeeper] bölümünü nasıl yazacağım benden ötedir. Herhangi bir örnek harika olacak. Teşekkürler.Supervise ZooKeeper with Supervisord

  1. , github en son kodu kullanabilirsiniz o stopasgroup ve killasgroup seçenek sunar:

    Şimdiye kadar iki çözüm oradayız.

  2. bin/zkServer.sh print-cmd dosyasını çalıştırın ve çıktıyı süpervizörün 'komut' seçeneklerine kopyalayın, boru argümanını kaldırın ve stdout_logfile, stderr_logfile dosyasını ekleyin. Aşağıdaki gibi:
 
    [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

[supervisord çocuk süreçlerini durdurma] 'nın olası bir kopyası (http://stackoverflow.com/questions/9090683/supervisord-stopping-child-processes) –

cevap

10

Orada da benzer bir soru here

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

Bu soru sürecini öldürme sorun bahseder, ve ben bir çözüm henüz varsa emin değilim.

+0

En son denetleyici bu özelliği kazanmış gibi görünüyor. doc burada http://supervisord.org/configuration.html seçenek: stopasgroup –

+0

@Jerry: "Tanıtıldı: 3.0a13". Mevcut sürüm 3.0a12'dir, belgelerin GitHub deposundan oluşturulduğu anlaşılmaktadır. –

+0

@MartijnPieters Hiç işe yaramadı ... –

İlgili konular