12

私はWindows環境と、独自のカフカと飼育係のセットを実行しています。カスタム オブジェクトを使用するために、Avro を使い始めました。しかし、レジストリを開始する必要がありました。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

次に、インストールページに次のように表示されます。

「Confluent は現在、Windows をサポートしていません。Windows ユーザーは、zip および tar アーカイブをダウンロードして使用できますが、bin/ ディレクトリのラッパー スクリプトを使用するのではなく、jar ファイルを直接実行する必要があります。」

Windows 環境でコンフルエント スキーマ レジストリを開始するにはどうすればよいのでしょうか。

スクリプトの内容を見て、解読するのは難しいです。

ありがとう

4

6 に答える 6

3

現時点では、Confluent Platform には Windows 用のスクリプトが同梱されていません。ただし、Java アプリケーションの実行に慣れている場合は、独自のアプリケーションを作成できます。schema-registry-server-startスクリプト (およびschema-registry-run-classスクリプトが依存するスクリプト) は、ハンドルモード-daemon、Java メモリ オプションの設定、デフォルトのログ構成の設定などを行いますが、最終的に重要な部分はio.confluent.kafka.schemaregistry.rest.SchemaRegistryMain、メイン メソッドとして Java を実行することです。kafka-run-class.batまた、便利なベースとして Kafkaの を見つけることもできます: https://github.com/apache/kafka/blob/trunk/bin/windows/kafka-run-class.bat

于 2016-08-24T22:07:50.473 に答える
2

この問題は、Windows 環境の JAVA_HOME 環境設定にスペースが含まれている可能性があります (「C:\Program Files...」ではなく「C:\Program」というエラー メッセージが表示されます)。

schema-registry-run-class スクリプトの最後の「exec」を「echo」という単語に置き換えることで、schema_registry を起動するための最終的な Java 呼び出しの正確な構文を決定できます。かなり複雑なコマンドが表示されます

/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

そのコマンドは、「java [core-java-opts] [java-defines] -cp [classpath] io.confluent.kafka.schemaregistry.rest.SchemaRegistryMain」に要約されます。

「/opt/confluent」参照を Confluent インストールの実際の場所に置き換えると、運が良くなると思います。

注: 多くの標準スクリプトでは、C:\Program Files の展開場所に問題があるため、Windows 上の Java を顧客の場所 (「C:\java8」など) にインストールすることを好みます。

于 2016-08-24T22:16:12.813 に答える