Reputation: 1028
I am in kafka_home/bin/windows
(as suggested here).
Then I get the same problem as here, where it suggests to launch the program from the kafka home.
I get this error when launching from the windows folder:
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
Does anybody know how to solve this?
Upvotes: 3
Views: 27630
Reputation: 71
I Find answers from @MiChael G Noll much helpful. I would advise following with respect to windows:
Start Zookeeper by [Remember to navigate to root of kafka-directory. The contents of root directory in windows is bin, config, libs, logs etc]:
.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
Start kafka Server by .\bin\windows\kafka-server-start.bat .\config\server.properties
While you are doing all this, notice that for windows we navigated to .bin\windows
from where we called the respective .bat
files.
Similarly when you want to create topics or partitions remember that in your cmd
terminal you are calling these .bat
files from correct location[All while your root is kafka directory hence the use of .\bin
The dot represents the root directory, in this root where kafka is stored].
Other relevant links and commands can be found here: https://www.javaer101.com/en/article/12057273.html
Also I would like to point out for beginners like me- the parallel between Linux and windows execution
In Linux to write message to console you call: kafka-console-producer.sh as follows: .sh
is the extension for shell execution in linux
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
It's parallel in windows is observable through .bat
extension, which is executable script on windows console[cmd]: kafka-console-producer.sh
.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test
Also notice the location of .bat
and .sh
in kafka. in windows it is located at bin\windows
while in Linux it is available directly under bin
for the kafka directory. Make sure to call accordingly !
Upvotes: 1
Reputation: 11
The problem here is the windows bat scripts are not properly tested. Also the documentation has not mentioned the prerequisites like installing scala, java and setting the ENV variables that zookeer and Kafka depends up on.
Here is what I did to resolve the problem and then zookeeper , kafka server has started properly, running fine. 1. Install scala and set the env variables SCALA_HOME, SCALA_VERSION , SCALA_BINARY_VERSION. Add the SCALA_HOME\bin to PATH. 2. Install java and set JAVA_HOME and add JAVA_HOME\bin to PATH. 3. CORRECT THE FILEs \bin\windows\zookeeper-server-start.bat AND \bin\windows\kafka-run-class.bat BY REPLACING ALL THE ENTRIES THE STRING %~dp0 WITH %CD% 4. CD AND RUN THE COMMAND TO START ZOOKEER : bin\windows\zookeeper-server-start.bat config\zookeeper.properties eg -> D:\apps\kafka_2.12-0.11.0.1>bin\windows\zookeeper-server-start.bat config\zookeeper.properties Zookeeper shoould start properly 5 CD AND RUN THE COMMAND TO START KAFKA SERVER : bin\windows\kafka-server-start.bat config\server.properties eg -> D:\apps\kafka_2.12-0.11.0.1>bin\windows\kafka-server-start.bat config\server.properties kafka server/broker should start properly 6. We can then test createing a topic and list the topics as mentioned in the kafka quick start guide her : 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
Upvotes: 1
Reputation: 15077
The default location of the configuration file is specified with a relative path, config/zookeeper.properties
.
The directory tree of Kafka looks somewhat like this:
bin/
|
+-- zookeeper-server-start.sh
|
+-- windows/
|
+-- zookeeper-server-start.bat
config/
|
+-- zookeeper.properties
So if you are literally inside the bin/windows/
directory and then run zookeeper-server-start.bat
from there, the ZK startup script will effectively look for its configuration at bin/windows/config/zookeeper.properties
, which doesn't exist.
Take a look at the existing answer (Apache Kafka error on windows - Couldnot find or load main class QuorumPeerMain) for the correct command to launch the ZK startup script, where the example command line explicitly defines where to find the configuration file:
$ 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
Upvotes: 9