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

Exception when creating kafka topic through java

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

根据你的例外情况,上面写着 could not able to connect zookeeper。 在您的代码中,

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

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

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";