使用新API的Kafka消费者无法正常工作

时间:2017-03-28 15:39:30

标签: apache-kafka

我发现Kafka非常奇怪。

我有一个有3个经纪人的制片人:

bin/kafka-console-producer.sh --broker-list localhost:9093, localhost:9094, localhost:9095 --topic topic

然后我尝试使用新API运行使用者:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9093,localhost:9094,localhost:9095 --topic topic --from-beginning

我一无所获!但如果我使用旧的API:

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic topic

我收到了我的消息!

我有什么问题?

PS:我正在使用Kafka 10

3 个答案:

答案 0 :(得分:2)

由于这篇类似的帖子,我最终解决了我的问题:Kafka bootstrap-servers vs zookeeper in kafka-console-consumer

我认为这是我的错误/错误配置导致zookeeper和kafka的问题。

解决方案:

首先确保在您的经纪人的server.properties个文件中删除启用主题:

# Switch to enable topic deletion or not, default value is false
delete.topic.enable=true

然后删除主题:

bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic myTopic

删除经纪人的所有/tmp/log.dir目录。

编辑:我再次面临问题,我还必须删除/tmp/zookeeper/version-2/中zookeeper的日志文件。

最后删除zookeeper中/brokers/topics中的主题,如下所示:

$ kafka/bin/zookeeper-shell.sh localhost:2181
Connecting to localhost:2181
Welcome to ZooKeeper!
JLine support is disabled

rmr /broker/topics/mytopic

重新启动经纪人并再次创建主题。

答案 1 :(得分:0)

经过一段时间与同样的问题打架后。指定--partition和控制台消费者新API工作(但挂起..)。我有CDH 5.12 + Kafka 0.11(来自包裹)。

UPD:

另请注意,Kafka 0.11(在CDH parclel中版本为3.0.0)无法正常使用消息。在降级到Kafka 0.10后,它变得可以。 --partition不再需要了。

答案 2 :(得分:0)

我遇到了同样的问题,但是我的“群集”使用了一个代理实例,我收到了这个错误:

<强>的/ var /日志/消息

[2018-04-04 22:29:39,854] ERROR [KafkaApi-20] Number of alive brokers '1' does not meet the required replication factor '3' for the offsets topic (configured via 'offsets.topic.replication.factor'). This error can be ignored if the cluster is starting up and not all brokers are up yet. (kafka.server.KafkaApis) 

我刚在服务器配置文件中添加了设置offsets.topic.replication.factor=1并重新启动。它开始运作良好。