正如ZooKeeper的文档所述,有必要使用daemontools之类的工具对其进行监督。但是该文档没有提供任何示例,我知道启动ZooKeeper的唯一方法是运行bin / zkServer.sh start。我计划使用主管来完成这项工作,但是如何编写[program:zookeeper]部分超出了我的范围。任何例子都很好。谢谢。
到目前为止,有两种解决方案:
使用github上的最新代码,它提供了stopasgroup和killasgroup选项。执行bin / zkServer.sh print-cmd,然后将输出复制到超级用户的’command’选项,删除管道参数,并添加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 autorestart = true
[程序:动物饲养员] 命令= /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 autorestart = true