Thanks, this solved the problem. But the connection string as "Zk1:2181,zk2:2181,zk3;2181/Kafka", seems unintuitive?
On Sun, Apr 21, 2013 at 2:29 AM, Scott Clasen <sc...@heroku.com> wrote: > Afaik you only put the chroot on the end of the zk conn str... > > Zk1:2181,zk2:2181,zk3;2181/Kafka > > Not > > Zk1:2181/kafka,zk2:2181/Kafka,zk3:2181/Kafka > > > Sent from my iPhone > > On Apr 20, 2013, at 9:03 AM, Neha Narkhede <neha.narkh...@gmail.com> > wrote: > > > Please file a bug and mention the Kafka and zookeeper versions used for > the > > test. > > > > Thanks, > > Neha > > > > On Saturday, April 20, 2013, Ryan Chan wrote: > > > >> Hello, > >> > >> Tried, still the same... > >> > >> > >> bin/zkCli.sh -server zookeeper1:2181,zookeeper2:2181,zookeeper3:2181 > >> [zk: zookeeper1,zookeeper2,zookeeper3(CONNECTED) 0] ls / > >> [testkafka, consumers, brokers, zookeeper] > >> [zk: zookeeper1,zookeeper2,zookeeper3(CONNECTED) 1] rmr /testkafka > >> [zk: zookeeper1,zookeeper2,zookeeper3(CONNECTED) 2] create /testkafka '' > >> [zk: zookeeper1,zookeeper2,zookeeper3(CONNECTED) 3] ls / > >> [testkafka, consumers, brokers, zookeeper] > >> > >> > >> > >> And restart Kafka > >> > >> [2013-04-20 09:20:58,336] 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) > >> 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) > >> > >> > >> > >> Maybe I should report a bug? > >> (I posted here first just to know if I have done sth stupid) > >> > >> > >> > >> > >> On Sat, Apr 20, 2013 at 1:02 PM, Neha Narkhede <neha.narkh...@gmail.com > <javascript:;> > >>> wrote: > >> > >>> Hmm, so if you use all 3 zookeeper servers will creating and reading > >>> the node, do you still see the problem ? > >>> > >>> zkCli.sh -server zookeeper1:2181,zookeeper2:2181,zookeeper3:2181 > >>> create /testkafka > >>> ls / > >>> > >>> Thanks > >>> Neha > >>> > >>> On Fri, Apr 19, 2013 at 8:55 PM, Ryan Chan <ryanchan...@gmail.com> > >> wrote: > >>>> Hi, > >>>> > >>>> Actually I followed the above link to setup my zookeeper1 to > >> zookeeper3. > >>>> > >>>> They are in the same quorum, as you can see in my above example that > >>> when I > >>>> created the /testkafka path in zookeeper1, I can see list it in > >>> zookeeper2 > >>>> > >>>> Thanks > >>>> > >>>> > >>>> On Sat, Apr 20, 2013 at 12:08 AM, Neha Narkhede < > >> neha.narkh...@gmail.com > >>>> wrote: > >>>> > >>>>> 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) > >>>>>>> >