kafka使用官网的java代码 生产者正常使用,消费者接收不到消息

w 发表于: 2019-05-16   最后更新时间: 2019-06-29 15:59:09   5,007 游览

1、完全按照官网的java代码来写的,一开始producer还会报错,修改了server.properties里面的listener就好了,kafka用的是kafka_2.11-2.0.0 下面是部分代码

props.put("bootstrap.servers", "192.168.111.146:9092");
        props.put("group.id", "test-consumer-group");
        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");
        props.put("auto.offset.reset", "earliest");

        ConsumerRecords<String, String> records = kafkaConsumer.poll(Duration.ofMillis(100));

2、上面是prop的配置信息 下面poll(100)说是已经过时

if(records.isEmpty()){
}

3、会一直显示为空

搞了几天了 也不报错也不接受信息 求救

发表于 2019-05-16
w
添加评论

consumer拉取消息的地方是不是没有死循环?

第一次写markdown格式 不是很会 见谅。。。

订阅主题了吗?

w -> 鲍记忠 5年前

订阅了 只是把部分代码截取出来

鲍记忠 -> w 5年前

console-consumer能消费到消息吗

w -> 鲍记忠 5年前

可以 客户端的producer console-producer都可以用 就客户端的consumer接收不到数据

订阅主题了吗?

看着没问题,现在找到原因了吗?

w -> 半兽人 5年前

没有。。。也没报错 感觉是这里问题 你们都是kafkaConsumer.poll(100)我这边就会显示过时 得用Duration的静态方法

半兽人 -> w 5年前
 Properties props = new Properties();
 props.setProperty("bootstrap.servers", "localhost:9092");
 props.setProperty("group.id", "test");
 props.setProperty("enable.auto.commit", "true");
 props.setProperty("auto.commit.interval.ms", "1000");
 props.setProperty("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
 props.setProperty("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
 KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
 consumer.subscribe(Arrays.asList("foo", "bar"));
 while (true) {
     ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100));
     for (ConsumerRecord<String, String> record : records)
         System.out.printf("offset = %d, key = %s, value = %s%n", record.offset(), record.key(), record.value());
 }
w -> 半兽人 5年前

还是不行 。算了不搞了 搞了3-4天了 搞storm kafka整合和spark去了

你好,请问这个问题解决了吗?我现在也遇到这种问题,可以用命令kafka-console-consumer消费,用Java代码就无法消费的问题,配置跟你这一样,我的是kafka2.1.0

你的kafka和代码在同一台机器吗?如果没有要配置listener。

你的答案

查看kafka相关的其他问题或提一个您自己的问题