2

我有Windows環境和我自己的一套kafka和zookeeper運行。要使用自定義對象,我開始使用Avro。但我需要讓註冊表啓動。下載匯合的平臺,並運行此:在windows中啓動Confluent模式註冊表

$ ./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 

然後我看到這個安裝頁面上:

「合流目前不支持Windows Windows用戶可以下載和使用的zip和tar歸檔,但也會有。直接運行jar文件,而不是使用bin /目錄中的包裝器腳本。「

我想知道如何去啓動Windows環境中的confluent模式註冊表?

看着腳本的內容,很難破譯。

謝謝

回答

1

目前Confluent Platform不附帶任何Windows腳本。但是,如果您熟悉運行Java應用程序,則可以編寫自己的代碼。 schema-registry-server-start腳本(以及它所依賴的schema-registry-run-class腳本)可以執行諸如處理-daemon模式,設置Java內存選項,設置默認日誌配置等功能,但最終關鍵的一點是它們以主要方法執行Java io.confluent.kafka.schemaregistry.rest.SchemaRegistryMain。您可能還會發現,從卡夫卡的kafka-run-class.bat作爲一個有用的基礎:https://github.com/apache/kafka/blob/trunk/bin/windows/kafka-run-class.bat

1

的問題是可能的空間在JAVA_HOME環境設置爲您的Windows環境(由該錯誤信息的證明存在:而「C:\程序」比「C:\ Program Files文件...」

您可以通過將schema-registry-run-class腳本中的最後一個「exec」替換爲用於啓動schema_registry的最終java調用的EXACT語法你會看到相當複雜的命令

/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 

那co可以歸結爲「java [core-java-opts] [java -definition] -cp [classpath] io.confluent.kafka.schemaregistry.rest.SchemaRegistryMain

如果將」/ opt/confluent「引用替換爲Confluent安裝的實際位置,我懷疑你會有更好的運氣。

注:我喜歡在Windows上安裝Java的客戶位置(例如「C:\ java8」,因爲許多標準的腳本可以使用C的問題:\ Program Files文件部署位置

+0

感謝您對Java8安裝位置的建議! – user1860447

0

我有使用cygwin從cmd.exe運行匯合工具。

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