kafka 0.8.1.1在监管(supervisord)下,在停止supervisord守护进程时不会被终止。

3

在回答Kafka以监管模式运行的问题后,我尝试了相同的方法。但问题是,我的kafka(版本0.8.1.1)使用不同的运行脚本。因此,我尝试进行调整并生成了以下supervisord配置:

[program:kafka]
command=pidproxy /var/run/kafka.pid /opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties 
user=kafka
autostart=true
autorestart=true
startsecs=10
startretries=999
log_stdout=true
log_stderr=true
logfile=/var/log/kafka/supervisord-kafka.out
logfile_maxbytes=20MB
logfile_backups=10

我使用的是以下版本的supervisor rpm:

[root@dev-xxx yyy]# rpm -qi supervisor
Name        : supervisor                   Relocations: (not relocatable)
Version     : 3.0                               Vendor: obs://build.opensuse.org/home:presbrey
Release     : 13.1                          Build Date: Thu 13 Jun 2013 08:35:40 AM IDT

停止supervisord守护进程并不能终止kafka,请见下文:
[root@dev-xxx yyy]# jps
3236 core
31378 QuorumPeerMain
31408 Jps
2964 Kafka
31293 supervisor
31246 nimbus

[root@dev-xxx yyy]# supervisorctl status
kafka                            RUNNING    pid 2963, uptime 1 day, 5:15:18
storm-nimbus                     RUNNING    pid 31246, uptime 0:02:06
storm-supervisor                 RUNNING    pid 31293, uptime 0:01:44
storm-ui                         RUNNING    pid 3236, uptime 5 days, 22:37:33
storm-zookeeper                  RUNNING    pid 31378, uptime 0:00:47


[root@dev-xxx yyy]# service supervisord stop
Stopping supervisord: Shut down
Waiting roughly 60 seconds for /var/run/supervisord.pid to be removed after child processes exit
Supervisord exited as expected in under 12 seconds


[root@dev-xxx yyy]# supervisorctl status
unix:///var/tmp/supervisor.sock no such file


[root@dev-xxx yyy]# jps
2964 Kafka
31474 Jps

1
дҪ иғҪеҗҰе°қиҜ•еңЁsupervisorзҡ„kafkaйғЁеҲҶдёӯж·»еҠ stopasgroup=trueпјҢзңӢзңӢжҳҜеҗҰжңүж•Ҳпјҹ - om-nom-nom
非常好,谢谢!您是否想将其添加为答案,以便我可以点赞并标记? - Yaneeve
1个回答

6

好的,正如我之前所说的那样,stopasgroup = true应该有所帮助。 我不完全确定确切的原因,但据我理解,这是因为kafka是由shell脚本启动的,并且默认情况下,在撤消时只会杀死该脚本。


我在哪里可以添加你提到的选项? - AmirSojoodi
@SonOfSun 添加到 supervisord 中与 kafka 相关的部分,具体位置不重要。 - om-nom-nom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接