问题 使用Supervisord监督ZooKeeper


正如在ZooKeeper的文档中所说的那样,有必要使用daemontools这样的工具来监督它。但是文档没有提供任何示例,我知道启动ZooKeeper的唯一方法是运行bin / zkServer.sh start。我打算用supervisord来完成这项工作,但是如何编写[program:zookeeper]部分已经超出了我的范围。任何例子都会很棒。谢谢。

到目前为止,有两种解决方案:

  1. 使用来自github的最新代码,它提供了stopasgroup和killasgroup选项。
  2. 执行bin / zkServer.sh print-cmd,并将输出复制到supervisord的'command'选项,删除管道参数,并添加stdout_logfile,stderr_logfile。如下:
    [方案:动物园管理员]
    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:/家庭/几丈/应用/饲养员/ bin中/../ LIB /网状-3.2.2.Final.jar:/家庭/几丈/应用/饲养员/ bin中/../ lib中/ log4j的-1.2.15.jar:/家庭/几丈/应用/饲养员/ bin中/../ lib中/的JLine-0.9.94.jar:/家庭/几丈/应用/饲养员/ bin中/../饲养员-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

6479
2017-08-16 02:02


起源

可能重复 监督停止子进程 - Martijn Pieters♦


答案:


有一个类似的问题 这里

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

那个问题提到了一个杀死这个过程的问题,我不确定是否还有一个解决方案。


10
2017-08-16 05:07



似乎最新的supervisord已经获得了这个功能。 doc在这里 supervisord.org/configuration.html 选项:stopasgroup - Ji ZHANG
@Jerry:“介绍:3.0a13”。当前版本为3.0a12,文档似乎是从GitHub存储库生成的。 - Martijn Pieters♦
@MartijnPieters难怪它不起作用...... - Ji ZHANG
引发此错误: FATAL Exited too quickly (process log may have details) - Ritesh Sinha
@ user-4870385在启动zookeeper时使用start-foreground而不是start - ElSioufy