1. 程式人生 > >java.lang.IllegalArgumentException: Path length must be > 0

java.lang.IllegalArgumentException: Path length must be > 0

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:232)
    at kafka.utils.ZkUtils$.createEphemeralPath(ZkUtils.scala:243)
    at kafka.utils.ZkUtils$.createEphemeralPathExpectConflict(ZkUtils.scala:255)
    at kafka.utils.ZkUtils$.registerBrokerInZk(ZkUtils.scala:191)
    at kafka.server.KafkaZooKeeper.kafka$server$KafkaZooKeeper$$registerBrokerInZk(KafkaZooKeeper.scala:51)
    at kafka.server.KafkaZooKeeper.startup(KafkaZooKeeper.scala:41)
    at kafka.server.KafkaServer.startup(KafkaServer.scala:82)
    at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:34)
    at kafka.Kafka$.main(Kafka.scala:46)
    at kafka.Kafka.main(Kafka.scala)
 

 

出現這個錯誤是因為zookeeper從某個版本之後就不會自動幫忙建立節點了。

這時候就需要改kafka配置檔案(/kafka/config/server.properties)中的zookeeper.connect如下:

zookeeper.connect=127.0.0.1:2181

切記,埠後面不要加任何東西。