2017-05-30 474 views
1

我在kafka_home/bin/windows(建议here)。 然后我遇到了与here相同的问题,它建议从kafka家启动程序。无法在Apache Kafka中启动Zookeeper服务器

INFO Reading configuration from: config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig) 
[2014-08-21 11:53:55,748] FATAL Invalid config, exiting abnormally (org.apache.zookeeper.server.quorum.QuorumPeerMain) 
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing config/zookeeper.properties 
    at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:110) 
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:99) 
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:76) 
Caused by: java.lang.IllegalArgumentException: config/zookeeper.properties file is missing 
    at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:94) 
    ... 2 more 
Invalid config, exiting abnormally 

有谁知道如何解决这个问题: 我从Windows文件夹中运行时出现此错误?

+0

的痕迹说,配置文件丢失 –

+0

确保配置文件是在正确的目录位置 –

+0

它是,它位于kafka_home /配置/ 。仍然有错误 – sirdan

回答

1

配置文件的默认位置用相对路径config/zookeeper.properties指定。

卡夫卡的目录树看起来有点像这样:

bin/ 
    | 
    +-- zookeeper-server-start.sh 
    | 
    +-- windows/ 
     | 
     +-- zookeeper-server-start.bat 
config/ 
    | 
    +-- zookeeper.properties 

所以,如果你硬是bin/windows/目录内,然后再从那里zookeeper-server-start.bat,ZK的启动脚本将有效地寻找它的配置在bin/windows/config/zookeeper.properties,这不存在。

看看正确的命令现有的答案(Apache Kafka error on windows - Couldnot find or load main class QuorumPeerMain)启动ZK启动脚本,在命令行例子明确定义在哪里可以找到配置文件:

$ cd bin/windows 
$ zookeeper-server-start.bat ../../config/zookeeper.properties 

# The below will NOT work (explanation is above) 
$ cd bin/windows 
$ zookeeper-server-start.bat 
+0

在Apache Kafka网站的快速入门指南的第一行中,清楚地写道,对于Windows用户,您必须位于根文件夹中,然后执行bin \ windows \ ...,然后执行其余的命令。 无论如何,谢谢。 – sirdan

+0

是的,但在上面的问题中,您明确表示您做了一些不同的事情:您不在根文件夹中,然后执行'bin \ windows \ zookeeper-server-start。蝙蝠“(这将工作),但相反,你是在错误的目录:”我在'kafka_home/bin/windows'“。 –

+0

我知道,我的意见是澄清我发现了我的一个错误。 – sirdan

1

这里的问题是windows bat脚本没有正确测试。 此外,文档还没有提到安装scala,java和设置zookeer和Kafka依赖的ENV变量等先决条件。

这是我做了什么来解决问题,然后zookeeper,kafka服务器已正常启动,运行良好。 1.安装scala并设置env变量SCALA_HOME,SCALA_VERSION,SCALA_BINARY_VERSION。将SCALA_HOME \ bin添加到PATH。 2.安装java并设置JAVA_HOME并将JAVA_HOME \ bin添加到PATH。 3.更正文件\ bin \ windows \ zookeeper-server-start.bat和\ bin \ windows \ kafka-run-class.bat BY 替换所有条目字符串%〜dp0 WITH%CD% 4. CD并运行命令来启动ZOOKEER:bin \ windows \ zookeeper-server-start.bat config \ zookeeper.properties 例如 - > D:\ apps \ kafka_2.12-0.11.0.1> bin \ windows \ zookeeper-server-start .bat config \ zookeeper.properties Zookeeper应该正常启动 5 CD并运行命令以启动KAFKA服务器:bin \ windows \ kafka-server-start.bat config \ server.properties 例如 - > D:\ apps \ kafka_2 .12-0.11.0.1> bin \ windows \ kafka-server-start.bat config \ server.properties kafka服务器/代理应该正常启动 6.然后,我们可以测试创建主题并将主题列为我ntioned在卡夫卡快速入门指南她:https://kafka.apache.org/quickstart

D:\apps\kafka_2.12-0.11.0.1>bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test2 
Created topic "test2". 

D:\apps\kafka_2.12-0.11.0.1>bin\windows\kafka-topics.bat --list --zookeeper localhost:2181 
test 
test2 

enter image description here