ZooKeeperのドキュメントで述べられているように、daemontoolsのようなツールでそれを監視する必要があります。しかし、ドキュメントには例が示されていません。ZooKeeperを起動するために私が知っている唯一の方法は、bin /zkServer.shstartを実行することです。私はsupervisordを使って仕事をするつもりですが、[program:zookeeper]セクションの書き方は私を超えています。どんな例でも素晴らしいでしょう。ありがとう。
これまでのところ、2つの解決策があります。
- githubの最新のコードを使用すると、stopasgroupおよびkillasgroupオプションが提供されます。
- bin / zkServer.sh print-cmdを実行し、出力をsupervisordの「コマンド」オプションにコピーし、パイプ引数を削除して、stdout_logfile、stderr_logfileを追加します。次のように:
[プログラム:動物園の飼育係] コマンド=/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。 stdout_logfile = /home/jizhang/Applications/zookeeper/zookeeper.out stderr_logfile = /home/jizhang/Applications/zookeeper/zookeeper.err 自動再起動=true