Since There is only 1 chroot for a zk cluster, if you specified for each server there would be a potential for error/mismatch
Things would probably go really bad if you had mismatched chroots :) Sent from my iPhone On Apr 21, 2013, at 1:34 AM, Ryan Chan <ryanchan...@gmail.com> wrote: > 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) >>