Simple Kafka Consumer not receiving messages

后端 未结 6 2265
萌比男神i
萌比男神i 2021-02-09 15:20

I am a newbie to Kafka and running a simple kafka consumer/producer example as given on KafkaConsumer and KafkaProducer. When I am running consumer from terminal, consumer is re

相关标签:
6条回答
  • 2021-02-09 15:53

    First check what all the groups are available by using :

    ./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
    

    Then check for which group your topic belongs by using below cmd :

    ./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group <your group name> --describe
    

    Once you find your topic and associated group name (just replace group.id with your group if it not belongs to default group) then try with below prop and let me know if it works :

      props.put("bootstrap.servers", "localhost:9092");
      props.put("group.id", "test-consumer-group"); // default topic name
      props.put("enable.auto.commit", "true");
      props.put("auto.commit.interval.ms", "1000");
      props.put("session.timeout.ms", "30000");
      props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
      props.put("value.deserializer","org.apache.kafka.common.serialization.StringDeserializer");
      KafkaConsumer<String, String> consumer = new KafkaConsumer<String, String>(props);
    
      //Kafka Consumer subscribes list of topics here.
      consumer.subscribe(Arrays.asList(topicName));  // replace you topic name
    
      //print the topic name
    
      java.util.Map<String,java.util.List<PartitionInfo>> listTopics = consumer.listTopics();
      System.out.println("list of topic size :" + listTopics.size());
    
      for(String topic : listTopics.keySet()){
          System.out.println("topic name :"+topic);
      }
    
    0 讨论(0)
  • 2021-02-09 15:55

    Clear Your 'tmp' folder in the drive which you accessing kafka. then open new 'cmd' command window! Restart server freshly, and post " .\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic H1 --from-beginning "this code in the command window to run consumer without any error

    0 讨论(0)
  • 2021-02-09 15:58

    Try to set enable.partition.eof parameter to false:

    props.put("enable.partition.eof", "false");
    

    That worked for me.

    0 讨论(0)
  • 2021-02-09 16:03

    Run the consumer before running the producer so that the consumer registers with the group coordinator first.Later when u run the producer the consumer consumes the messages.The first time u run the consumer its registering with the group coordinator.In order to find out till what offset the consumer has consumed the messages use this kafka-consumer-offset-checker.bat --group group-1 --topic testing-1 --zookeeper localhost:2181 This shows the consumer has consumed which offset of the topic last.

    0 讨论(0)
  • 2021-02-09 16:03

    Try this one this code worked for me.

    Properties props = new Properties();
    props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
    props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,
    "org.apache.kafka.common.serialization.StringDeserializer");
    props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, 
    "org.apache.kafka.common.serialization.StringDeserializer");
    props.put(ConsumerConfig.GROUP_ID_CONFIG, "test-consumer-group");
    KafkaConsumer<String, String> myConsumer = new KafkaConsumer<>(props);
    myConsumer.subscribe(Arrays.asList(topicName));
    myConsumer.subscribe(topics);
    
    try{
          while (true) {
                  ConsumerRecords<String, String> records = myConsumer.poll(100);
                  for (ConsumerRecord<String, String> record : records) {
                      System.out.println(String.format( "Topic: %s, Partition: %d, Offset: %d, key: %s, value: %s",
                              record.topic(),record.partition(), record.offset(),record.key(),record.value()
                      ));
                  }}
        }catch (Exception e){
            System.out.println(e.getMessage());
        }finally {
            myConsumer.close();
        }
    
    0 讨论(0)
  • 2021-02-09 16:10

    I faced this issue with latest release of kafka kafka_2.13-2.6.0.tgz (asc, sha512) when installed locally on windows 7. Messages were not flowing from producer to consumer. Checked and found that Consumer offset topic was not created not sure why.

    Installed earlier version of Kakfa kafka_2.12-2.5.0.tgz and it started working. Consumer offset topic was created with the old version

    0 讨论(0)
提交回复
热议问题