什么是 zookeeper.broker.path
what is zookeeper.broker.path
我正在学习 Spark 和 Kafka,并遇到了这个项目 kafka-spark-consumer,它似乎可以有效地使用来自 Kafka 的消息。这个项目需要配置一些 kafka 和 zookeeper 属性,这就是我正在努力的地方。我的意思是这个 属性 是什么意思 zookeeper.broker.path?抱歉,如果这是一个基本问题。
我已经在单节点中配置了 kafka 并具有以下属性,
broker.id=1
port=9093
log.dir=/tmp/kafka-logs-1
和动物园管理员,
zookeeper.connect=localhost:2181/brokers
zookeeper.connection.timeout.ms=6000
如果我尝试使用 /brokers 配置 zookeeper.broker.path,我会从消费者那里得到以下异常,
Exception in thread "main" java.lang.RuntimeException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /brokers/topics/<name>/partitions
at consumer.kafka.ReceiverLauncher.getNumPartitions(ReceiverLauncher.java:217)
at consumer.kafka.ReceiverLauncher.createStream(ReceiverLauncher.java:79)
at consumer.kafka.ReceiverLauncher.launch(ReceiverLauncher.java:51)
at com.ibm.spark.streaming.KafkaConsumer.run(KafkaConsumer.java:78)
at com.ibm.spark.streaming.KafkaConsumer.start(KafkaConsumer.java:43)
at com.ibm.spark.streaming.KafkaConsumer.main(KafkaConsumer.java:103)
你能帮我了解这里的 zookeeper 代理路径是什么吗?我该如何配置它?
编辑
上面的错误是由于主题不存在造成的,我创建主题的那一刻,错误就消失了。
根据user007的回答,/brokers目录默认由zookeeper创建。
zookeeper.connect 属性 不需要 '/brokers'。应该是
zookeeper.connect=localhost:2181
我对你提到的"kafka-spark-consumer"项目不熟悉。但通常 /brokers 是kafka在zookeeper中创建的默认节点。我还没有看到任何库要求用户配置它。
/brokers 是存储主题等元数据的 znode 路径。
进入kafka bin目录。然后调用 zookeeper shell - ./zookeeper-shell.sh localhost
然后ls
。您应该能够看到 topics
和在那里创建的其他子节点。
我正在学习 Spark 和 Kafka,并遇到了这个项目 kafka-spark-consumer,它似乎可以有效地使用来自 Kafka 的消息。这个项目需要配置一些 kafka 和 zookeeper 属性,这就是我正在努力的地方。我的意思是这个 属性 是什么意思 zookeeper.broker.path?抱歉,如果这是一个基本问题。
我已经在单节点中配置了 kafka 并具有以下属性,
broker.id=1
port=9093
log.dir=/tmp/kafka-logs-1
和动物园管理员,
zookeeper.connect=localhost:2181/brokers
zookeeper.connection.timeout.ms=6000
如果我尝试使用 /brokers 配置 zookeeper.broker.path,我会从消费者那里得到以下异常,
Exception in thread "main" java.lang.RuntimeException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /brokers/topics/<name>/partitions
at consumer.kafka.ReceiverLauncher.getNumPartitions(ReceiverLauncher.java:217)
at consumer.kafka.ReceiverLauncher.createStream(ReceiverLauncher.java:79)
at consumer.kafka.ReceiverLauncher.launch(ReceiverLauncher.java:51)
at com.ibm.spark.streaming.KafkaConsumer.run(KafkaConsumer.java:78)
at com.ibm.spark.streaming.KafkaConsumer.start(KafkaConsumer.java:43)
at com.ibm.spark.streaming.KafkaConsumer.main(KafkaConsumer.java:103)
你能帮我了解这里的 zookeeper 代理路径是什么吗?我该如何配置它?
编辑
上面的错误是由于主题不存在造成的,我创建主题的那一刻,错误就消失了。
根据user007的回答,/brokers目录默认由zookeeper创建。
zookeeper.connect 属性 不需要 '/brokers'。应该是
zookeeper.connect=localhost:2181
我对你提到的"kafka-spark-consumer"项目不熟悉。但通常 /brokers 是kafka在zookeeper中创建的默认节点。我还没有看到任何库要求用户配置它。
/brokers 是存储主题等元数据的 znode 路径。
进入kafka bin目录。然后调用 zookeeper shell - ./zookeeper-shell.sh localhost
然后ls
。您应该能够看到 topics
和在那里创建的其他子节点。