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.
> >>
>

Reply via email to