#apache-kafka #confluence-rest-api #confluent-platform
#apache-kafka #confluence-rest-api #confluent-платформа
Вопрос:
Как запустить kafka rest proxy в Windows.
Я скачал confluent-2.0.1-2.11.7.tar.gz
в папке Windows я не вижу kafka-rest-start.
Ответ №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, и мне это НЕ удалось.
Всегда сталкивался с этой ошибкой no main attribute found
с указанием или без указания правильного пути к классу и io.confluent.kafkarest.KafkaRestMain
.
Я даже попытался запустить сценарии оболочки, упакованные для дистрибутива Linux, используя [babun]: http://babun.github.io /, но это привело к ошибке типа Error: Could not find or load main class io.confluent.kafkarest.KafkaRestMain
.
В конце концов, образ docker, созданный с помощью zookeeper, kafka, schema-registry, kafka-rest, работал как шарм. Вот официальная страница с информацией об имени изображения, дополнительная ссылка на его документ: 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
И, наконец, если вы хотите предоставить прокси-сервер kafka REST, работающий как контейнер Docker, внешней сети (например, компьютеру Windows, который является частью отдельной сети, отличной от этих контейнеров), просто укажите IP-адрес хоста Docker (найдите его, нажав 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
Если все в порядке, вы сможете получить доступ к REST proxy по этому URL http://<Docker_host_IP>:8082
-адресу с компьютера Windows.
Ответ №4:
Я смог запустить команду, упомянутую выше @lexler, но за пределами cygwin. (непосредственно в командной строке Windows.)
Комментарии:
1. Я также смог запустить команду, упомянутую @lexler выше. Это работает как шарм. Спасибо. Вы спасли мой день.