I'm pretty sure the issue is that those 3 zookeepers are not part of the same quorum. Try following the quickstart for starting up a local zookeeper instance or follow http://zookeeper.apache.org/doc/r3.3.3/zookeeperAdmin.html#sc_zkMulitServerSetup for a zookeeper cluster setup.
Thanks, Neha On Thu, Apr 18, 2013 at 10:50 PM, Jonathan Creasy <j...@box.com> wrote: > I made the patch to create the chroot and it doesn't handle multiple zk > addresses. > > We fixed it but I guess that patch didn't get submitted. I will make a > ticket here to get that done. > On Apr 18, 2013 10:47 PM, "Ryan Chan" <ryanchan...@gmail.com> wrote: > >> Yes, using the latest Kafka 0.7.2, just tried to reproduce again >> >> 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) >> .. >> >> >> Any idea? >> >> >> >> >> On Fri, Apr 19, 2013 at 5:32 AM, Neha Narkhede <neha.narkh...@gmail.com >> >wrote: >> >> > That is odd. Is it reproducible ? >> > >> > On Wed, Apr 17, 2013 at 8:03 PM, Ryan Chan <ryanchan...@gmail.com> >> wrote: >> > > Hi, >> > > >> > > Yes, I can see the new path exists by using the command "ls /" >> > > >> > > >> > > >> > > On Thu, Apr 18, 2013 at 1:29 AM, Neha Narkhede < >> neha.narkh...@gmail.com >> > >wrote: >> > > >> > >> After creating the path, did you get a chance to confirm that it got >> > >> created correctly ? >> > >> >> > >> Thanks, >> > >> Neha >> > >> >> > >> On Wed, Apr 17, 2013 at 9:30 AM, Ryan Chan <ryanchan...@gmail.com> >> > wrote: >> > >> > Sorry as I am new to Kafka/ZK, but the instruction seems not clear.. >> > >> > >> > >> > In the config, it was said that we can use a chroot-ed ZK ( >> > >> > http://kafka.apache.org/configuration.html), e.g. >> > localhost:2181/kafka >> > >> > >> > >> > But when I start the Kafka using the setting, it was showing.. >> > >> > >> > >> > 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) >> > >> > at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:626) >> > >> > at org.I0Itec.zkclient.ZkConnection.create(ZkConnection.java:87) >> > >> > at org.I0Itec.zkclient.ZkClient$1.call(ZkClient.java:308) >> > >> > at org.I0Itec.zkclient.ZkClient$1.call(ZkClient.java:304) >> > >> > at >> org.I0Itec.zkclient.ZkClient.retryUntilConnected(ZkClient.java:675) >> > >> > at org.I0Itec.zkclient.ZkClient.create(ZkClient.java:304) >> > >> > at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:213) >> > >> > at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:223) >> > >> > at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:223) >> > >> > at kafka.utils.ZkUtils$.createParentPath(ZkUtils.scala:47) >> > >> > at kafka.utils.ZkUtils$.createEphemeralPath(ZkUtils.scala:59) >> > >> > at >> > >> >> kafka.utils.ZkUtils$.createEphemeralPathExpectConflict(ZkUtils.scala:71) >> > >> > at >> > >> >> kafka.server.KafkaZooKeeper.registerBrokerInZk(KafkaZooKeeper.scala:54) >> > >> > at kafka.log.LogManager.startup(LogManager.scala:130) >> > >> > at kafka.server.KafkaServer.startup(KafkaServer.scala:81) >> > >> > at >> > >> >> kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:34) >> > >> > at kafka.Kafka$.main(Kafka.scala:47) >> > >> > at kafka.Kafka.main(Kafka.scala) >> > >> > >> > >> > In an old post ( >> > >> > >> > >> >> > >> http://mail-archives.apache.org/mod_mbox/incubator-kafka-users/201205.mbox/%3CCAK152briB=m-oaeaqtcz+cvzjovywbhomx8tubywqguox_y...@mail.gmail.com%3E >> > >> ) >> > >> > it was saying I need to create the path first, so I use zkCli.sh to >> > >> connect >> > >> > to the ZK, and run the command >> > >> > >> > >> >>> create /kafka '' >> > >> > >> > >> > I restarted the Kafka and still the same error, any idea? >> > >> > >> > >> > Thanks. >> > >> >> > >>