我对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什么都没有存储,而是创建了新的主题。谢谢你的帮助!
1条答案
按热度按时间lp0sw83n1#
试着设置
bootstrap.servers
至127.0.0.1:9092