如何在 Kafka 集群上部署 Kafka Streaming 应用程序

How to deploy Kafka Streaming Application on Kafka Cluster

我编写了 Kafka Streaming 应用程序,我想将它部署到 Kafka 集群上。所以我构建了一个 jar 文件并 运行 它使用命令:

 java -jar KafkaProcessing-1.0-SNAPSHOT-jar-with-dependencies.jar testTopic kafka1:9092,kafka2:9092 zookeeper1:2181,zookeeper2:2181 output

它 运行 是正确的,但作业是 运行ning 在我 运行 以上命令的机器上!我想当我指定 BOOTSTRAP-SERVERS 它会自动在集群上计算,而不是在主机上!

所以我的问题是如何在 kafka 集群上提交 Kafka 流作业? 像 Spark 和 Flink 提供命令 spark-submitflink run 在集群上部署应用程序。

在我的组织中,我们使用的是 kafka 流应用程序。我们已经探索了这种在服务器上部署的选项。根本不提供此设施。无论您身在何处,您都只能选择 运行 kafka 流应用程序 运行。尚无作业提交选项。

Kafka 流具有不同的体系结构 - 它不需要像 Spark/Flink 那样的集群编排 - 它们只是你可以启动和停止的普通应用程序,如果你启动 - 它们将被扩展,如果你阻止他们缩小规模。在内部,他们使用 Kafka 来协调数据处理,类似于其他 Kafka 消费者。

如果您有 Kubernetes、Docker Swarm 或其他类似平台,那么您可以将您的应用打包到 Docker 中,并使用该平台 运行 您的 Kafka Streams 应用。