自动部署 Kafka Stream 应用
Automatically deploy Kafka Stream app
我刚开始使用 Kafka 和 Kafka 流应用程序。我写了一个 Kafka Stream 应用程序,它从一个主题消费,处理这些消息,然后将它们发送到另一个主题。
据我所知,我发现 运行 这个 Kafka Stream 应用程序编码的唯一方法是:
- 运行 Java Class 来自 IDE.
- 根据提示生成
*.jar
文件并 运行 它。
我想知道是否有任何方法可以在 Kafka 服务器启动时自动 运行 Kafka Streaming Applications。例如:将 *.jar
文件复制到我的 Kafka 安装的某个文件夹,并在我启动 Kafka 服务器时自动 运行 这个流应用程序。
您的 Kafka 代理(服务器)和您的 Kafka Streams 应用程序彼此独立。无论是 initd 或 systemd 之类的东西,还是 Docker 或 Kubernetes 等基于容器的解决方案,您都可以启动它们,但您可以管理服务器上的进程。
根据我的经验,如果您的流应用程序在您的代理或 ZooKeeper 之前启动得很好,那么它可能会在等待它们联机时超时。所以你可能需要配置streams进程在这种情况下重新启动。
我刚开始使用 Kafka 和 Kafka 流应用程序。我写了一个 Kafka Stream 应用程序,它从一个主题消费,处理这些消息,然后将它们发送到另一个主题。
据我所知,我发现 运行 这个 Kafka Stream 应用程序编码的唯一方法是:
- 运行 Java Class 来自 IDE.
- 根据提示生成
*.jar
文件并 运行 它。
我想知道是否有任何方法可以在 Kafka 服务器启动时自动 运行 Kafka Streaming Applications。例如:将 *.jar
文件复制到我的 Kafka 安装的某个文件夹,并在我启动 Kafka 服务器时自动 运行 这个流应用程序。
您的 Kafka 代理(服务器)和您的 Kafka Streams 应用程序彼此独立。无论是 initd 或 systemd 之类的东西,还是 Docker 或 Kubernetes 等基于容器的解决方案,您都可以启动它们,但您可以管理服务器上的进程。
根据我的经验,如果您的流应用程序在您的代理或 ZooKeeper 之前启动得很好,那么它可能会在等待它们联机时超时。所以你可能需要配置streams进程在这种情况下重新启动。