2

J'ai l'environnement Windows et mon propre jeu de kafka et zookeeper en cours d'exécution. Pour utiliser des objets personnalisés, j'ai commencé à utiliser Avro. Mais j'avais besoin de démarrer le registre. Téléchargé plate-forme Confluent et a couru ceci:Démarrer le registre de schéma confluent dans Windows

$ ./bin/schema-registry-start ./etc/schema-registry/schema-registry.properties 
/c/Confluent/confluent-3.0.0-2.11/confluent-3.0.0/bin/schema-registry-run-class: line 103: C:\Program: No such file or directory 

Alors je vois cela sur la page d'installation:

« Confluent ne prend pas en charge de Windows Les utilisateurs de Windows peuvent télécharger et utiliser les archives zip et de goudron, mais aura. pour exécuter les fichiers jar directement plutôt que d'utiliser les scripts wrapper dans le répertoire bin /. "

Je me demandais comment procéder pour démarrer le registre de schéma confluent dans un environnement Windows?

Regardé le contenu des scripts et il est difficile à déchiffrer.

Merci

Répondre

1

À l'heure actuelle Confluent plate-forme ne sont pas livrés avec tous les scripts pour Windows. Cependant, vous pouvez écrire le vôtre si vous êtes à l'aise avec les applications Java. Le script schema-registry-server-start (et le script schema-registry-run-class dépend) gère le mode -daemon, définit les options de mémoire Java, configure la configuration du journal par défaut, et plus encore, mais finalement, la clé est d'exécuter Java avec io.confluent.kafka.schemaregistry.rest.SchemaRegistryMain comme méthode principale. Vous trouverez peut-être aussi le kafka-run-class.bat de Kafka comme base utile: https://github.com/apache/kafka/blob/trunk/bin/windows/kafka-run-class.bat

1

La question est sans doute la présence d'espaces dans l'environnement JAVA_HOME défini pour votre environnement Windows (comme en témoigne le message d'erreur de « C: \ Program » plutôt que "C: \ Program Files ...".

Vous pouvez déterminer la syntaxe EXACT de l'invocation java finale pour lancer schema_registry en ajoutant le dernier "exec" dans le script schema-registry-run-class avec le mot "echo". Vous verrez la commande plutôt alambiquée

/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/bin/java -Xmx512M -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:/opt/confluent/bin/../etc/schema-registry/log4j.properties -cp :/opt/confluent/bin/../package-schema-registry/target/kafka-schema-registry-package-*-development/share/java/schema-registry/*:/opt/confluent/bin/../share/java/confluent-common/*:/opt/confluent/bin/../share/java/rest-utils/*:/opt/confluent/bin/../share/java/schema-registry/* io.confluent.kafka.schemaregistry.rest.SchemaRegistryMain 

mmand se résume à "java [core-java-opts] [java-définit] -cp [classpath] io.confluent.kafka.schemaregistry.rest.SchemaRegistryMain

Si vous remplacez les références"/opt/confluent "par l'emplacement actuel de votre installation Confluent, je suppose que vous aurez beaucoup plus de chance.

NOTE: Je préfère installer Java sur Windows à un emplacement du client (par exemple, "C: \ java8", car de nombreux scripts standards auront des problèmes avec C:. \ Program emplacement déploiement des fichiers

+0

Merci pour l'astuce sur l'emplacement d'installation de Java8! – user1860447

0

J'ai eu succès en exécutant les outils confluents de cmd.exe en utilisant cygwin

C:\>c:\cygwin64\bin\bash -l /cygdrive/c/confluent/4.0.0/bin/kafka-avro-console-consumer --bootstrap-server <my_server_name>:9092 --topic <my_topic> --property schema.registry.url=http://<my_schema_registry_url>:8081 >> tmp.txt