今天看啥  ›  专栏  ›  kismetG

zookeeper启动报错:already running as process

kismetG  · CSDN  ·  · 2019-01-01 00:00

通过脚本启动zookeeper集群,发现主节点zookeeper进程并未起来,其余节点zookeeper进程都起来了

查看zookeeper·的启动脚本可以发现 Zookeeper 的进程名叫 QuorumPeerMain

于是手动启动了一下主节点的zookeeper,发现报错:

JMX enabled by default
Using config: /export/servers/zookeeper-3.4.5-cdh5.14.0/bin/../conf/zoo.cfg
Starting zookeeper ... already running as process 3041.

查看zookeeper·的启动脚本可以发现:

判断$ZOOPIDFILE这个文件是否存在
kill -0 表示不发送任何信号给PID对应的进程,但是仍会对变量值PID对应的
/dev/null 2>&1; 表示不输出错误信息
进程是否存在进行检查,如果$pid对应的进程存在,则返回0,不存在返回1

分析启动脚本我们可以知道错误的原因是:

机器异常关闭缓存目录中残留PID文件。 那肯定是之前服务器异常断电过。

查看zookeeper的日志目录可以发现:

我们把这个文件输出就行!!!!

rm -rf zookeeper_server.pid 

让后再起启动,会发现我们的zookeeper起来了,一切正常!!




原文地址:访问原文地址
快照地址: 访问文章快照