我有windows环境和我自己的一套Kafka和zookeeper运行。为了使用自定义对象,我开始使用avro。但我需要开始注册。下载confluent platform并运行以下命令:
$ ./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存档,但必须直接运行jar文件,而不是使用bin/目录中的 Package 器脚本。”
我想知道如何在windows环境下启动合流模式注册表?
看了剧本的内容,很难破译。
谢谢
6条答案
按热度按时间nwwlzxa71#
目前,confluent平台没有为windows提供任何脚本。但是,如果您对运行java应用程序感到满意,您可以自己编写。这个
schema-registry-server-start
脚本(和schema-registry-run-class
脚本,这取决于)做的事情,如处理-daemon
模式、设置java内存选项、设置默认日志配置等等,但最终的关键是它们使用io.confluent.kafka.schemaregistry.rest.SchemaRegistryMain
作为主要方法。你还可以找到kafka-run-class.bat
Kafka作为一个有用的基础:https://github.com/apache/kafka/blob/trunk/bin/windows/kafka-run-class.batgzjq41n42#
架构注册表bat文件的代码。另存为schema-registry-start.bat
架构注册表属性文件应该如下所示:另存为schema-registry.properties
5jdjgkvh3#
问题很可能是您的windows环境的java\u home environment设置中存在空格(错误消息为“c:\program”而不是“c:\program files…”)。
通过将schema registry run class脚本中的最后一个“exec”替换为单词“echo”,可以确定启动schema注册中心的最终java调用的确切语法。你会看到相当复杂的命令
该命令归结为“java[core java opts][java defines]-cp[classpath]io.confluent.kafka.schemaregistry.rest.schemaregistrymain”
如果用合流安装的实际位置替换“/opt/confluent”引用,我想您的运气会好得多。
注意:我更喜欢将windows上的java安装到客户位置(例如“c:\java8”),因为许多标准脚本在c:\program files部署位置上都会有问题。
r9f1avp54#
schema registry run class bat文件的代码是:另存为schema-registry-run-class.bat
tjvv9vkg5#
我使用cygwin成功地从cmd.exe运行了合流工具。
6yjfywim6#
有人按照ewen Cheva的建议创建了windows.bat文件
https://github.com/renukaradhya/confluentplatform/tree/master/bin/windows
我救了你
schema-registry-run-class.bat
以及schema-registry-start.bat
进入我的\confluent\bin\windows
目录,然后可以运行架构注册表C:\confluent\bin\windows\schema-registry-start.bat C:\confluent\etc\ schema-registry\schema-registry.properties