记一次想把自己打一巴掌的坑(字符串变量)

Kafka的客户端API操作

错误代码

public static final String TOPIC_NAME = "topic_test2";

public static void delTopic() throws Exception{
        AdminClient adminClient = adminClient();
        DeleteTopicsResult deleteTopicsResult = adminClient.deleteTopics(Arrays.asList("TOPIC_NAME"));
        System.out.println("--------------------------" + deleteTopicsResult);
        deleteTopicsResult.all().get();
    }

报错

Exception in thread "main" java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.UnknownTopicOrPartitionException: This server does not host this topic-partition.
	at org.apache.kafka.common.internals.KafkaFutureImpl.wrapAndThrow(KafkaFutureImpl.java:45)
	at org.apache.kafka.common.internals.KafkaFutureImpl.access$000(KafkaFutureImpl.java:32)
	at org.apache.kafka.common.internals.KafkaFutureImpl$SingleWaiter.await(KafkaFutureImpl.java:89)
	at org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:260)
	at com.chengyanban.kafka_study.admin.AdminSample.delTopic(AdminSample.java:34)
	at com.chengyanban.kafka_study.admin.AdminSample.main(AdminSample.java:15)
Caused by: org.apache.kafka.common.errors.UnknownTopicOrPartitionException: This server does not host this topic-partition.

上面用的是单机kafka的测试,由于以前搭建过kafka集群,创建过topic,自己再配置成单机后,删除topic总报错,以为是以前搭建的集群产生的数据导致的一些问题,然后删除zookeeper和kafka所有数据(就差重装了),还是这个问题,搞了半天,最后发现

Arrays.asList("TOPIC_NAME")中的TOPIC_NAME不应该加引号,已经是字符串。

当场脑溢血身亡。
不过还是有收获,对运行kafka和zookeeper会产生哪些数据和zookeeper客户端下kafka的目录结构等等加深了印象。

你可能感兴趣的:(Kafka)