Как запустить kafka rest proxy в Windows

#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 выше. Это работает как шарм. Спасибо. Вы спасли мой день.