如何在 Windows 上运行 kafka rest 代理。
我下载了 confluent-2.0.1-2.11.7.tar.gz
在 Windows 文件夹中,我看不到 kafka-rest-start。
如何在 Windows 上运行 kafka rest 代理。
我下载了 confluent-2.0.1-2.11.7.tar.gz
在 Windows 文件夹中,我看不到 kafka-rest-start。
以下是他们在 bash 脚本末尾实际执行的命令示例:
java -Xmx256M -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+DisableExplicitGC -Djava.awt.headless=true -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dlog4j.configuration=file:C:/Dev/kafka/confluent-4.0.0/etc/kafka-rest/log4j.properties -cp .;C:/Dev/kafka/confluent-4.0.0/target/kafka-rest-*-development/share/java/kafka-rest/*;C:/Dev/kafka/confluent-4.0.0/share/java/confluent-common/*;C:/Dev/kafka/confluent-4.0.0/share/java/rest-utils/*;C:/Dev/kafka/confluent-4.0.0/share/java/kafka-rest/* io.confluent.kafkarest.KafkaRestMain C:/Dev/kafka/confluent-4.0.0/etc/kafka-rest/kafka-rest.properties
如果您想尝试一下,请确保将路径更改为您的路径。
Windows 当前不是受支持的平台。但是,如果您调整脚本,它应该可以正常工作。即使只是java io.confluent.kafkarest.KafkaRestMain
使用适当的类路径运行也应该可以。
也许,这个答案会帮助任何刚接触 Kafka 并偶然发现这种情况的人,比如我 :)。
一周前,我正在寻找同样问题的答案,遇到了在 Windows 中运行 jar 文件(在此路径confluent-xxx\share\java\kafka-rest中)的官方建议,但没有成功。
无论no main attribute found
是否指定正确的类路径和io.confluent.kafkarest.KafkaRestMain
.
我什至尝试使用 [babun]: http://babun.github.io/运行为 Linux 发行版打包的 shell 脚本,但这导致了类似Error: Could not find or load main class io.confluent.kafkarest.KafkaRestMain
.
最终,使用 zookeeper、kafka、schema-registry、kafka-rest 构建的 docker 镜像就像一个魅力。这是包含图像名称信息的官方页面,进一步参考它的文档:https ://hub.docker.com/r/confluentinc/cp-kafka-rest/
提取此映像后,将创建一个新的虚拟机,其中包含另外四个映像(一个用于每个服务,如 zookeeper、Kafka、schem-registry 和 Kafka-rest)。运行图像会运行一个单独的 Docker 容器。
本指南应该可以帮助您快速入门: http: //docs.confluent.io/current/cp-docker-images/docs/quickstart.html
最后,如果您想将作为 Docker 容器运行的 kafka REST 代理服务器公开给外部网络(例如 Windows 机器,它是与这些容器不同的网络的一部分),只需提及 Docker 主机 IP(通过点击找到它docker-machine ip <hostname>
)并使用选项KAFKA_REST_LISTENERS
公开端口。-p
像这样:
docker run -d \
--net=host \
--name=kafka-rest \
-p 8082:8082 \
-e KAFKA_REST_ZOOKEEPER_CONNECT=localhost:32181 \
-e KAFKA_REST_LISTENERS=http://192.168.99.100:8082 \
-e KAFKA_REST_SCHEMA_REGISTRY_URL=http://localhost:8081 \
-e KAFKA_REST_HOST_NAME=localhost \
confluentinc/cp-kafka-rest:3.2.1
如果一切正常,您将能够http://<Docker_host_IP>:8082
从 Windows 机器通过此 url 访问 REST 代理。
我能够运行@lexler 上面提到的命令,但在cygwin 之外。(直接使用 windows 命令提示符。)