Error processing /etc/kafka/zookeeper.properties.scale-5.pzoo-1
jaeyj2 opened this issue · 5 comments
There is the same issue here, but it has been closed and has been reposted.
I followed the guide, and I got to the Pod's starting state normally.
However, the pod status fails.
NAME READY STATUS RESTARTS AGE
kafka-0 0/1 CrashLoopBackOff 45 3h35m
kafka-1 0/1 CrashLoopBackOff 45 3h35m
kafka-2 0/1 CrashLoopBackOff 45 3h35m
pzoo-0 0/1 CrashLoopBackOff 10 28m
pzoo-1 0/1 CrashLoopBackOff 10 28m
pzoo-2 0/1 CrashLoopBackOff 10 28m
zoo-0 0/1 CrashLoopBackOff 10 28m
zoo-1 0/1 CrashLoopBackOff 10 28m
The pod log.
[root@pstest01 kafka2]# kubectl logs pzoo-1 -n kafka2
[2020-10-30 08:41:02,645] INFO Reading configuration from: /etc/kafka/zookeeper.properties.scale-5.pzoo-1 (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2020-10-30 08:41:02,647] ERROR Invalid config, exiting abnormally (org.apache.zookeeper.server.quorum.QuorumPeerMain)
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing /etc/kafka/zookeeper.properties.scale-5.pzoo-1
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:156)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:113)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:82)
Caused by: java.lang.IllegalArgumentException: /etc/kafka/zookeeper.properties.scale-5.pzoo-1 file is missing
at org.apache.zookeeper.server.util.VerifyingFileFactory.doFailForNonExistingPath(VerifyingFileFactory.java:51)
at org.apache.zookeeper.server.util.VerifyingFileFactory.validate(VerifyingFileFactory.java:45)
at org.apache.zookeeper.server.util.VerifyingFileFactory.create(VerifyingFileFactory.java:40)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:141)
... 2 more
It seems that we need to modify the zookeeper.properties related part of configmap.
But I don't know which of the many lines is the problem. Because the log only came out missing files.
zookeeper-config.yml was applied as it is.
/etc/kafka/zookeeper.properties.scale-5.pzoo-1
org.apache.zookeeper.server.util.VerifyingFileFactory.doFailForNonExistingPath
I don't know why zookeeper.properties is not getting this file from log.
I am having the same issue
The logs of the init-config container of zoo-1 Pod are:
+ '[' '!' -d /var/lib/zookeeper/data ']'
+ '[' -z 4 ']'
+ export ZOOKEEPER_SERVER_ID=5
+ ZOOKEEPER_SERVER_ID=5
+ echo 5
+ tee /var/lib/zookeeper/data/myid
5
+ cp -Lur /etc/kafka-configmap/init.sh /etc/kafka-configmap/log4j.properties /etc/kafka-configmap/zookeeper.properties /etc/kafka/
+ '[' '!' -z '' ']'
+ ln -s /etc/kafka/zookeeper.properties /etc/kafka/zookeeper.properties.scale-.zoo-1
From 10zookeeper-config.yml
$REPLICAS does not seem to be get set...
ln -s /etc/kafka/zookeeper.properties /etc/kafka/zookeeper.properties.scale-$REPLICAS.$POD_NAME
Im running on k3s and rancher
C:\Users\jae\Downloads\111\kafka_2.11-2.4.0\kafka_2.11-2.4.0\bin
C:\Users\jae\Downloads\111\kafka_2.11-2.4.0\kafka_2.11-2.4.0\config
kafka2.4.1's directory is bin and config.
but this configmap targeting is /etc/kafka.
Maybe this need to fix real directory
What is the real path of the docker image's config and bin directory?
Changing ln -s /etc/kafka/zookeeper.properties /etc/kafka/zookeeper.properties.scale-$REPLICAS.$POD_NAME
to
ln -s /etc/kafka/zookeeper.properties /etc/kafka/zookeeper.properties.scale-5.$POD_NAME
in 10zookeeper-config.yml seems to have solved the issue...
I did this because both 51zoo.yml and 50pzoo.yml run this command:
command:
- ./bin/zookeeper-server-start.sh
- /etc/kafka/zookeeper.properties.scale-5.$(POD_NAME)
However this is not a real solution, is it?
After zookeeper-config.yml modification, it was started normally. Thank you.