2

我正在使用 zookeeper 并安装在 ubuntu 12.04

apt-get install zookeeper

我需要 pid 进行监控。它不在 /var/run 中,但 zookeeper 正在运行。我查看了 /etc/init.d/zookeeper 广告,没有提到 pid。

service zookeeper status
zookeeper start/running, process 7242

lsof -i :2181
COMMAND  PID      USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    7242 zookeeper   28u  IPv6 106186      0t0  TCP *:2181 (LISTEN)
4

1 回答 1

1

如果你阅读 Zookeeper 的 /etc/init.d/zookeeper 脚本中的注释,你会看到

# Symlink target for initscripts that have been converted to Upstart.

这意味着它是委派给暴发户的标准脚本。换句话说,它只是说查看 /etc/init/zookeeper.conf 新贵作业,而不是查看此文件。

这个新贵作业用于start-stop-daemon控制 Zookeeper,但它不传递 --pidfile 或 --make-pidfile 标志,Zookeeper 也不会自行创建 pidfile。最简单的方法是覆盖 Zookeeper upstart 作业(此 zookeeper.conf 文件)以将这两个标志添加到start-stop-daemon.

于 2014-04-09T18:14:45.770 回答