首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kafka消费者api订阅topic失败

Kafka消费者api订阅topic失败
EN

Stack Overflow用户
提问于 2017-03-10 06:59:44
回答 1查看 2.5K关注 0票数 0

我正在使用简单的Kafka客户端API。据我所知,消费消息有两种方式,订阅主题和将分区分配给消费者。

但是,第一种方法不起作用。消费者poll()将永远挂起。它只适用于assign

代码语言:javascript
复制
    // common config for consumer
    Map<String, Object> config = new HashMap<>();
    config.put("bootstrap.servers", bootstrap);

    config.put("group.id", KafkaTestConstants.KAFKA_GROUP);
    config.put("enable.auto.commit", "true");
    config.put("auto.offset.reset", "earliest");
    config.put("key.deserializer", StringDeserializer.class.getName());
    config.put("value.deserializer", StringDeserializer.class.getName());
    StringDeserializer deserializer = new StringDeserializer();
    KafkaConsumer<String, String> consumer = new KafkaConsumer<>(config, deserializer, deserializer);

    // subscribe does not work, poll() hangs
    consumer.subscribe(Arrays.asList(KafkaTestConstants.KAFKA_TOPIC));

下面是通过分配分区来工作的代码。

代码语言:javascript
复制
    // assign works
    TopicPartition tp = new TopicPartition(KafkaTestConstants.KAFKA_TOPIC, 0);
    List<TopicPartition> tps = Arrays.asList(tp);
    consumer.assign(tps);

因为我想要利用自动提交特性,根据这个post,这个特性应该只与消费者组管理一起使用。为什么subscribe()不起作用?

EN

回答 1

Stack Overflow用户

发布于 2020-09-08 13:55:23

我也面临着同样的问题。我使用的是kafka_2.12 jar版本,当我将其降级为kafka_2.11时,它可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42707131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档