当前位置: 首页 > 知识库问答 >
问题:

Kafka使用者不在控制台中打印旧消息

靳茂
2023-03-14
@EnableKafka 
@Configuration
public class KafkaConfig {
    
    @Bean
    public ConsumerFactory<String, String> consumerFactory() {
        Map<String, Object> config = new HashMap<>();
        
        config.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "127.0.0.1:9092");
        config.put(ConsumerConfig.GROUP_ID_CONFIG, "group_id6");
        config.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
        config.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, JsonDeserializer.class);
        
        return new DefaultKafkaConsumerFactory<>(config);
    }
    
    @Bean
    public ConcurrentKafkaListenerContainerFactory<String, String> concurrentKafkaListenerContainerFactory(){
        ConcurrentKafkaListenerContainerFactory<String, String> factory = new ConcurrentKafkaListenerContainerFactory<>();
        factory.setConsumerFactory(consumerFactory());
        return factory;
    }
    
}

java

@Component
public class KafkaConsumer {

    @KafkaListener(topics = "test", groupId = "group_id6")
    public void consume(String message) {
        System.out.println("message: " + message);
    }
}

我正在使用控制中心来检查这个主题的消费者,并跟踪正在消费的数据。在运行这个应用程序时,它与Kafka和所有分区都连接得很好,我可以在控制中心看到所有的数据都被提取了,但在我的java控制台中没有打印任何数据。但是我注意到,在向Kafka发送一些新数据时,它会在java控制台中打印出来(即,在运行我的消费者后将新数据发送给Kafka)。它应该是这样的吗?还是我做错了什么?根据我的理解,Kafka主题中的旧消息也应该在控制台中打印出来。

共有1个答案

羊舌和安
2023-03-14

在现有消费者组的情况下,当消费者再次启动时,它将从它在偏移量(或位置)中停止的地方继续,因为该偏移量由Kafka和/或Zookeeper存储。

另一方面,如果在一个现有主题中启动了一个新的消费者组,那么就没有偏移存储。在这种情况下,偏移量要么从主题的开头开始,要么从主题的结尾开始。

基本上,您应该创建一个新的使用者组并将其配置为从最小的偏移量开始,或者重置当前使用者组的偏移量。

 类似资料:
  • 你可以使用printf将消息打印到控制台,从而知道应用程序是如何运行的。这是调试代码的很有用的手段,因为你可以打印变量的值、知道什么时候代码将阻塞等等。 我们尝试使用函数unsigned char leds_get(void);打印LED的状态。 获取LED的状态,并将其打印到屏幕。修改test-leds.c如下: #include "contiki.h" #include "dev/leds.h

  • 我试着写一些关于主题的消息,但是控制台不允许(生产者不等待标准输入)。我也看不到任何错误日志。尽管主题已成功创建。我正在使用: 动物园管理员和Kafka服务器运行良好。我使用的是苹果电脑。可能的问题是什么。我正在关注阿帕奇Kafka文档 http://kafka.apache.org/documentation.html#quickstart。

  • 如何laravel打印出一些字符串在控制台时运行php工匠服务?我尝试了日志::信息,但它不工作。

  • 我正在为Kafka0.9.0.0做Kafka快速入门。 我让zookeeper在监听,因为我运行了 只有一个代理在处侦听,因为我运行了 我有一个制作人在主题“测试”上发帖,因为我跑了 当我运行旧的API使用者时,它通过运行 但是,当我运行新的API使用者时,我在运行时没有得到任何东西 是否可以使用新的API从控制台使用者订阅主题?我该怎么修好它?

  • Kafka消费者不接收在消费者开始之前产生的消息。 ConsumerRecords始终为空 虽然,如果我启动我的消费者比生产者比它接收消息。(Kafka-客户端版本2.4.1)

  • 我们有一个服务器,负责处理消息的生成和消费。我们有4台笔记本电脑,所有带有confluent的Mac都运行相同的命令行。。。 /kafka avro控制台使用者--从一开始--引导服务器0.0.0.0:9092,0.0.0.0:9092--主题主题名称--属性schema.registry.url=http://0.0.0.0:8081 4台笔记本电脑中有3台没有问题使用这些消息,但是第四台不会。