自动部署Kafka Stream应用

时间:2017-12-19 11:58:16

标签: apache-kafka apache-kafka-streams

我刚刚开始使用Kafka和Kafka Streaming Applications。我写了一个Kafka Stream应用程序,它消耗一个主题,处理这些消息,并将它们发送到另一个主题。

据我所知,我发现运行此Kafka Stream App编码的唯一方法是:

  • 从IDE运行Java类。
  • 生成*.jar文件并从提示符运行。

我想知道是否有任何方法可以在Kafka服务器启动时自动运行Kafka Streaming Applications。例如:将*.jar文件复制到我的Kafka安装的某个文件夹中,并在启动Kafka服务器时自动运行此流应用程序。

1 个答案:

答案 0 :(得分:6)

您的Kafka代理(服务器)和您的Kafka Streams应用程序彼此独立。您可以启动它们,但是您可以管理服务器上的进程,无论是initd还是systemd,还是基于容器的解决方案,如Docker或Kubernetes。

根据我的经验,如果您的流应用程序在您的经纪人或ZooKeeper之前启动,那么它可能会超时等待它们上线。因此,您可能需要将流进程配置为在这种情况下重新启动。