Kafka:在Windows环境下运行Confluent

5
我已经为本地运行设置了Kafka。我已用Java编写了样本producer和consumer,并通过启动服务器和zookeeper从本地运行它们。
我想使用Oracle作为producer,这将需要编写配置文件(已编写),以及在Unix上运行confluent shell脚本。
有没有办法在Windows上运行"confluent"?我在安装中找不到批处理文件“confluent”。
还有没有办法在不使用“confluent”脚本的情况下运行Oracle作为producer?

在Unix中运行相同命令: $ ./bin/confluent load jdbc_source_mysql_foobar_01 -d /tmp/kafka-connect-jdbc-source.json - Sujeet kumar
7个回答

4

Confluent Platform不支持Windows操作系统。如果您必须使用Windows,则最佳选择是使用Docker镜像,这些镜像得到了完全支持。


1
文档可以在这里找到:https://docs.confluent.io/current/installation/docker/index.html - Nick

3

Confluent软件有很多shell脚本,如果您可以使用Cygwin(https://www.cygwin.com/),则可以在Windows上利用它们。

先决条件:应该安装Java SDK并将其安装在没有空格的文件路径中。

先决条件:安装了curl的Cygwin

下载Confluent分发版并在没有空格的文件路径上进行安装(解压)。

对于以下每个内容,启动Cygwin会话并将JAVA_HOME设置为SDK,然后转到/bin目录

使用以下命令启动zookeeper

./zookeeper-server-start ../etc/kafka/zookeeper.properties

使用以下命令启动Kafka代理:

./kafka-server-start ../etc/kafka/server.properties

使用以下命令启动Confluent Schema Registry:

./schema-registry-start ../etc/schema-registry/schema-registry.properties

1

0

我知道这个问题很老了,但由于它仍然在谷歌搜索中出现,因此重要的是对其进行实际回答。

在这个答案中,我假设您最终也会在Windows Server上部署应用程序

正如Robin Moffatt所说,Kafka不支持Windows(我加了这个^^),而Linux容器的Docker镜像在Windows上得到了充分支持。

但是不要基于Docker Windows上的Linux容器开发应用程序,因为Linux容器仅适用于Windows 10,并且您在Windows Server上没有它们(是的,我知道有一个实验版本可用,但您不能信任它用于生产,而且它在旧版Windows Server 2016上并不真正起作用,如果您的客户像我们一样是老派人物)。

我目前也正在与同样的问题作斗争,并且一直在与我们的项目经理联系,以从以下解决方案中选择一个:

  1. 寻找一个在Windows上工作并可以运行在Windows容器中的Kafka的好替代品。
  2. 在Linux机器上运行您的应用程序,并安装Docker。如果您正在使用.NET Core的微服务架构,它在Linux上运行得非常完美。
  3. 这种方式就像重新发明轮子的某些部分。你需要为提供给你的confluent Kafka创建Windows服务,它们在一个zip文件中提供给你。你需要尝试让模式注册表、kafka连接和控制中心自己启动并运行。在生产环境中,在没有安装一切的情况下控制Kafka是很痛苦的,特别是当你不会成为安装一切的人时(如果你能选择选项3,你可能可以创建自己的Windows镜像来运行Kafka(发明了轮子))。

我知道这并不真正有帮助,但这是我的研究结果关于这个问题,我希望Microsoft完成Linux容器的开发或者confluent发布一个Windows容器映像。对我来说,如果可能的话,解决方案2是最好的解决方案。


0

confluent 命令是用 Bash 编写的,因此您需要类似 WASL 或 Cygwin 的东西才能在本机成功运行它(而不是在 Docker / VM 外部)。

通过“oracle”听起来像您正在尝试运行 Kafka Connect JDBC。

您可以在 bin/windows 目录中找到 connect-standalone.bat

它需要一个属性配置文件,该文件将相应地映射到 kafka-connect-jdbc-source.json 文件,但不是 JSON 文件本身。

如果您想要向 Connect API 发送 JSON,请使用 connect-distributed 脚本。


0

最新的Confluent软件包支持Windows系统。 https://docs.confluent.io/4.0.0/installation/installing_cp.html#installation-archive

他们提供了Zookeeper和Kafka服务器的批处理文件,但是Schema注册表的批处理文件并不在其中。不过,您可以下载下面的文件。

https://github.com/renukaradhya/confluentplatform/blob/master/bin/windows/schema-registry-run-class.bat https://github.com/renukaradhya/confluentplatform/blob/master/bin/windows/schema-registry-start.bat

将上面的批处理文件保存在CONFLUENT_HOME\bin\windows目录中,并按如下方式运行:
schema-registry-start.bat ....\etc\schema-registry\schema-registry.properties

获取此消息错误:无法找到或加载主类 .\config\schema-registry.properties 原因是:java.lang.ClassNotFoundException: /\config\schema-registry/properties - Qhori

-1

这是一个Docker化的解决方案,而且Confluent有自己的Zookeeper和Kafka Docker镜像... - Tiago Medici

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接