【问题标题】:How do I shutdown Kafka and Zookeeper cleanly on Windows如何在 Windows 上干净地关闭 Kafka 和 Zookeeper
【发布时间】:2021-08-04 02:29:23
【问题描述】:

我花了一点时间研究 Kafka,我对使用它有一些兴趣,但我的潜在用例有点不标准 - 我有兴趣在单台机器上使用 kafka(现在),以某种短暂的方式。
具体来说,我想从 python 程序启动 zookeeper 和 kafka,连接,将它用于事件流,然后关闭一切。稍后,我希望能够重新启动并连接到旧的 kafka 实例,并阅读之前编写的主题。只要我保持配置不变,这应该是非常可行的。

我有一些在接近工作状态的概念验证代码,但我似乎无法让 Kafka 或 zookeeper 干净地关闭。在 Windows 上,停止 kafka 的批处理脚本只是杀死了该进程,这使 zookeeper 处于不良状态。同样,停止 zookeeper 的批处理脚本只会杀死进程,这意味着它无法以正确的状态启动以进行自我修复。
我也尝试过从 python 向 kafka 和 zookeeper 发送 ctrl+c 事件,就像在终端中运行脚本时一样,但这似乎也不起作用。

有什么方法可以干净地关闭 Windows 上以编程方式启动的 kafka 和 zookeeper 实例?

【问题讨论】:

    标签: apache-kafka apache-zookeeper


    【解决方案1】:

    这让动物园管理员处于糟糕的状态

    Zookeeper 不依赖 Kafka,因此不清楚您希望在这里清除什么,因为 Znode 将保留(否则如果代理重新启动,您将丢失所有数据)

    如果您想使用 Python(和 Windows),我建议创建托管 Windows 服务并在 pywin32 中与它们进行迭代,您可以通过编程方式启动/停止而不是 subprocess 调用。这将类似于 Unix 的 systemctl 调用(恭敬地调用 Kafka 提供的 -start-stop shell 脚本)

    或者你可以use WSL2

    【讨论】:

      猜你喜欢
      • 2014-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多