【问题标题】:How to run kafka rest proxy on windows如何在 Windows 上运行 kafka rest 代理
【发布时间】:2016-10-07 06:34:59
【问题描述】:

如何在windows上运行kafka rest代理。

我下载了 confluent-2.0.1-2.11.7.ta​​r.gz

在 windows 文件夹中我看不到 kafka-rest-start。

【问题讨论】:

    标签: apache-kafka confluence-rest-api confluent-platform


    【解决方案1】:

    Windows 当前不是受支持的平台。但是,如果您调整脚本,它应该可以正常工作。即使只是使用适当的类路径运行 java io.confluent.kafkarest.KafkaRestMain 也应该可以工作。

    【讨论】:

      【解决方案2】:

      这是他们在 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
      

      如果您想尝试一下,请确保将路径更改为您的路径。

      【讨论】:

        【解决方案3】:

        也许,这个答案会帮助任何刚接触 Kafka 并偶然发现这种情况的人,比如我 :)。

        一周前我正在寻找同样问题的答案,遇到了运行 jar 文件的官方建议(在此路径中 confluent-x.x.x\share\java\kafka-rest)在 Windows 中,但没有成功。

        无论是否指定正确的类路径和io.confluent.kafkarest.KafkaRestMain,总是会遇到此错误no main attribute found

        我什至尝试使用 [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(通过在KAFKA_REST_LISTENERS 中点击docker-machine ip <hostname>) 并使用-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
        

        如果一切正常,您将能够在 Windows 机器上通过此 url http://<Docker_host_IP>:8082 访问 REST 代理。

        【讨论】:

          【解决方案4】:

          我能够运行@lexler 上面提到的命令,但在 cygwin 之外。 (直接使用 windows 命令提示符。)

          【讨论】:

          • 我还能够运行@lexler 上面提到的命令。它就像一个魅力。谢谢。你拯救了我的一天。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-05-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-10-08
          • 2018-07-12
          相关资源
          最近更新 更多