3

How to run kafka rest proxy on windows.

I downloaded confluent-2.0.1-2.11.7.tar.gz

in windows folder i cannot see kafka-rest-start.

4 Answers4

3

Windows isn't currently a supported platform. However, it should work fine if you adapt the script. Even just running java io.confluent.kafkarest.KafkaRestMain with the appropriate classpath should work.

Ewen Cheslack-Postava
  • 1,411
  • 11
  • 11
3

Here's the example of the command they are actually executing in the end of the bash script:

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

Make sure you change paths to yours if you want to try it out.

lexler
  • 31
  • 2
2

Perhaps, this answer will help anybody who is new to Kafka and stumble upon this situation, like me :).

I was looking for an answer to the very same question a week ago, came across the official suggestion to run jar files(in this path confluent-x.x.x\share\java\kafka-rest) in windows and was NOT successful in doing so.

Always ran into this error no main attribute found with or without specifying the proper classpath and io.confluent.kafkarest.KafkaRestMain.

I even tried running the shell scripts packaged for Linux distribution using [babun]: http://babun.github.io/, but that resulted in the error like Error: Could not find or load main class io.confluent.kafkarest.KafkaRestMain .

Eventually, docker image built with zookeeper, kafka, schema-registry, kafka-rest worked like a charm. Here is the official page with info about the image name, further reference to it's doc: https://hub.docker.com/r/confluentinc/cp-kafka-rest/

Upon pulling this image, a new virtual machine gets created with four more images inside it(one for each service like zookeeper, Kafka, schem-registry and Kafka-rest). Running the images runs a separate Docker container.

This guide should get you started quickly: http://docs.confluent.io/current/cp-docker-images/docs/quickstart.html

And finally, if you would like to expose the kafka REST proxy server running as a Docker container to outside network(like windows machine which is part of the separate network than these containers) just mention the Docker host IP(find it by hitting docker-machine ip <hostname>) in KAFKA_REST_LISTENERS and expose the port with -p option.

Like this:

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

If everything is OK, you will be able to access REST proxy at this url http://<Docker_host_IP>:8082 from the windows machine.

ssasi
  • 1,758
  • 1
  • 12
  • 18
0

I was able to run the command that @lexler mentioned above, but outside of cygwin. (directly with the windows command prompt.)

kalyanswaroop
  • 403
  • 4
  • 5