【问题标题】:How can I restart kafka-manager safely with out kill command?如何在没有 kill 命令的情况下安全地重启 kafka-manager?
【发布时间】:2020-05-29 18:02:25
【问题描述】:

我的 kafka-manager 无法更新消费者信息并保留已删除的消费者组列表,所以我尝试重新启动 kafka-manager。 (我使用的是 kafka-manager 1.3.3.22 和 kafka 2.12-2.1.1)

但是 kafka-manager 和 /bin/kafka-manager 命令中的 README.md 似乎没有提供停止/重启功能。

有什么方法可以安全地重启或终止 kafka-manager?没有'kill -9 PID'推荐

【问题讨论】:

  • 我认为没有开箱即用的重启 kafka manager 的规定。我看到了这些未解决的问题:github.com/yahoo/CMAK/issues/205github.com/yahoo/CMAK/issues/562
  • 谢谢您的评论!!没有一些安全的方法。我应该运行 'kill -9 PID_OF_KAFKA_MANAGER' 和 'rm ./kafka-manager-1.3.3.22/RUNNING_PID' 然后使用 ./kafka-manager-1.3.3.22/bin/kafka-manager 运行 kafka-manager 我认为是不安全的方式....
  • 应该可以用docker compose
  • 当前我的服务在没有 docker 的 VM 环境下运行。(我们计划将其转移到 docker,但不是现在。)

标签: apache-kafka yahoo-kafka-manager


【解决方案1】:

没有开箱即用的重启命令,但是您可以将 Kafka 管理器作为服务运行。


首先在/etc/systemd/system/kafka-manager.service下创建服务文件 并添加以下内容:

[Unit]
Description=Kafka Manager
After=network.target

[Install]
WantedBy=multi-user.target

[Service]
ExecStart=/opt/kafka-manager-1.3.3.22/bin/kafka-manager
Type=simple

/opt/kafka-manager-1.3.3.22/conf/application.conf:

play.crypto.secret="some-secret"
play.http.requestHandler="play.http.DefaultHttpRequestHandler"
play.application.loader=loader.KafkaManagerLoader
pinned-dispatcher.type="PinnedDispatcher"
pinned-dispatcher.executor="thread-pool-executor"
kafka-manager.zkhosts="my-zookeeper-connection-string"
kafka-manager.base-zk-path="/a-chroot"

/opt/kafka-manager-1.3.3.22/conf/application.ini:

-Dapplication.home=/opt/kafka-manager-1.3.3.22
-Dpidfile.path=/opt/kafka-manager-1.3.3.22/kafka-manager.pid
-Dhttp.port=8080

最后运行

systemctl daemon-reload
systemctl enable kafka-manager --now

启动服务

systemctl start kafka-manager.service

停止服务

systemctl stop kafka-manager.service

重启服务

systemctl restart kafka-manager.service

【讨论】:

    猜你喜欢
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多