我正在尝试使用以下代码通过 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/