【问题标题】:Organize co-working for Kafka and Zookeeper using systemd使用 systemd 组织 Kafka 和 Zookeeper 的合作
【发布时间】:2021-07-09 06:29:48
【问题描述】:

我已在 VM 上安装了 Kafka,并希望在 VM 启动时启动它并在关闭时将其关闭。 这将是一项非常简单的任务,但 Kafka 依赖于运行中的 Zookeeper 服务。

可以使用 Systemd 的功能配置启动时的依赖关系:

[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service

但是我找不到如何配置关机顺序,我需要先停止 Kafka,然后才停止 Zookeeper,否则 Kafka 没有正确注销自己,并在下一次失败并出现以下错误启动:

ERROR 在/brokers/ids/1001 创建临时节点时出错,节点已存在且所有者“100620751232642057”与当前会话“100626285143549184”不匹配(kafka.zk.KafkaZkClient$CheckedEphemeral)

您能否建议我如何安排 Systemd 设备的关机顺序?

谢谢

【问题讨论】:

    标签: linux apache-kafka apache-zookeeper systemd


    【解决方案1】:

    尝试通过设置 ExecStartPre 在 ZooKeeper 和 Kafka 之间添加等待。

    [Service]
    ExecStartPre=/bin/sleep 20
    

    参考error while starting kafka broker

    【讨论】:

      猜你喜欢
      • 2017-12-26
      • 2018-11-22
      • 2019-02-08
      • 1970-01-01
      • 2017-11-20
      • 2019-01-12
      • 2019-09-27
      • 2017-05-11
      • 2022-01-19
      相关资源
      最近更新 更多