java - 通过java创建kafka主题时出现异常

标签 java apache-zookeeper apache-kafka kafka-consumer-api

我正在尝试使用以下代码通过 AdminCommand 创建一个 kafka 主题 Source

 ZkClient zkClient = new ZkClient(kafkaHost, 10000, 10000, ZKStringSerializer$.MODULE$);
    AdminUtils.createTopic(zkClient, "pa_reliancepoc_telecom_usageevent", 10, 1, new Properties());

但出现以下异常

Exception in thread "main" org.I0Itec.zkclient.exception.ZkNoNodeException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /brokers/ids
at org.I0Itec.zkclient.exception.ZkException.create(ZkException.java:47)
at org.I0Itec.zkclient.ZkClient.retryUntilConnected(ZkClient.java:685)

最佳答案

从你的异常来看,它说它无法连接 zookeeper。 在您的代码中,

ZkClient zkClient = new ZkClient(kafkaHost, 10000, 10000, ZKStringSerializer$.MODULE$); 

第一个参数是 zookeeper host,我不知道你在 kafkaHost 变量中有什么,顾名思义我认为你已经在那个变量中存储了 kafka 主机。通过提供 zookeeper 主机 更改第一个参数。例如,

String zkHosts = "xxx.xxx.xx.xx:2181";
ZkClient zkClient = new ZkClient(zkHosts, 10000, 10000, ZKStringSerializer$.MODULE$); 

如果您有不止一个动物园管理员,则以逗号分隔的字符串形式提供。例如,

String zkHosts = "xxx.xxx.xx.xx:2181,yyy.yyy.yy.yy:2181";

关于java - 通过java创建kafka主题时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28108977/

相关文章:

java - 通过互联网在两个 Android 设备之间建立直接 TCP/IP 网络

java - 多个动物园管理员节点导致内存不足问题?

node.js - 如何解决类型错误: this is not a typed array

java - 如何为同一个 Feign 客户端接口(interface)的不同配置文件切换 2 个注释

java - 使用 SAMLResponse token

java - Spring Boot - 远程 Zookeper 配置

apache-zookeeper - Zookeeper dataLogDir 配置无效

java - Kafka Java 消费者永远不会收到任何消息

apache-kafka - Spark Streaming Kafka java.lang.ClassNotFoundException : org. apache.kafka.common.serialization.StringDeserializer

java - 为什么可以创建抽象类的变量?