[Kafka-users] How to create the initial zookeeper chroot path for zk.connect? - Grokbase
1. Install a single node Kafka, three nodes zookeeper instances
kafka1
zookeeper1
zookeeper2
zookeeper3
2. Using a simple Kafka config, able to start without error in the log
brokerid=1
log.dir=/data/kafka
zk.connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
3. Now, create a path in zookeeper1
zkCli.sh -server zookeeper1:2181
ls /
[consumers, brokers, zookeeper]
create /testkafka ''
ls /
[testkafka, consumers, brokers, zookeeper]
Quit & Done.
4. Verify from zookeeper2
zkCli.sh -server zookeeper2:2181
ls /
[testkafka, consumers, brokers, zookeeper]
Seems ok
4. Update kafka config and restart
zk.connect=zookeeper1:2181/testkafka,zookeeper2:2181/testkafka,zookeeper3:2181/testkafka
Restart and have the error
[2013-04-19 05:35:14,846] FATAL Fatal error during KafkaServerStable
startup. Prepare to shutdown (kafka.server.KafkaServerStartable)
java.lang.IllegalArgumentException: Path length must be > 0
at org.apache.zookeeper.common.PathUtils.validatePath(PathUtils.java:48)
at org.apache.zookeeper.common.PathUtils.validatePath(PathUtils.java:35)
..
Read full article from [Kafka-users] How to create the initial zookeeper chroot path for zk.connect? - Grokbase
Compose, like the Docker CLI, connects to the docker daemon using a unix socket. It's highly possible that at high load, the engine takes an overly long time to respond to requests, causing this error to appear. As the error message suggests, try playing around with the
COMPOSE_HTTP_TIMEOUT
value and see whether stability improves as a result.