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

时间:2017-12-01 19:59:51

标签: apache-kafka apache-kafka-streams

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

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

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

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

2 个答案:

答案 0 :(得分:1)

在我的组织中,我们正在使用kafka流应用程序。我们已经探索了在服务器上部署的这个选项。这个设施根本没有提供。您只能在运行它的任何地方运行kafka streams应用程序。目前还没有提交作业的选项。

答案 1 :(得分:1)

Kafka流有不同的架构 - 它不需要像Spark / Flink这样的集群协调 - 它们只是你可以启动和停止的普通应用程序,如果你开始 - 它们将被扩展,如果你停止它们缩小。在内部,他们使用Kafka协调数据处理,与其他Kafka消费者类似。

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