kafkaproducer未发送记录

yrefmtwq  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(378)

我对Kafka完全陌生,使用Kafka制作人时遇到了一些麻烦。producer的send方法正好阻塞了1min,然后应用程序无一例外地继续进行。这显然是一些超时,但没有引发异常。
我在日志里也看不到任何东西。
必须正确设置服务器。如果我使用bin/kafka控制台消费者和生产者应用程序,我可以正确地发送和接收消息。同时,代码接缝也在一定程度上起作用。如果我想写一个还不存在的主题,我可以在/tmp/kafka logs文件夹中看到新条目,也可以在kafkaserver的控制台输出中看到。以下是我使用的代码:

Properties props = ResourceUtils.loadProperties("kafka.properties");
    Producer<String, String> producer = new KafkaProducer<>(props);

    for (String line : lines)
    {
        producer.send(new ProducerRecord<>("topic", Id, line));
        producer.flush();
    }
    producer.close();

kafka.properties文件中的属性:

bootstrap.servers=localhost:9092
key.serializer=org.apache.kafka.common.serialization.StringSerializer
value.serializer=org.apache.kafka.common.serialization.StringSerializer
acks=all
retries=0
batch.size=16384
linger.ms=1
buffer.memory=33554432

所以,producer.send blocks持续1分钟,然后继续。最后,Kafka什么都没有存储,而是创建了新的主题。谢谢你的帮助!

lp0sw83n

lp0sw83n1#

试着设置 bootstrap.servers127.0.0.1:9092

相关问题