我正在用命令行producer和consumer测试kafka。
我在一个终端窗口运行这个
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic tag7
这是另一个
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic tag7 --zookeeper localhost:2181
但我发送给消费者打印的数据需要1秒以上的时间。我发送的数据是我输入到生产者的,所以基本上每隔几秒钟就有一条消息。有什么配置选项我可以改变,使kafka代理期望很少的消息每秒,从而使消息移动明显更快?
我使用的是zookeeper和kafka的默认配置,所以我没有配置太多。
提前谢谢!
2条答案
按热度按时间4xrmg8kj1#
kafka有两个配置参数-一个是设置在回答消费者请求之前接收的最小数据量,另一个是设置在回答请求之前等待此数据到达的最大时间量。
您可以尝试添加以下选项:
更多信息:
有关详细信息,请查看此问题。
检查Kafka消费者配置。
nfs0ujit2#
由于ivan georgiev的回答对我不起作用(不仅因为它是关于消费者,而不是生产者),我在stackoverflow中提出了另一个问题,最后在apache的jira和ppatierno(谢谢)中回答了为什么会发生以及如何解决它。
用于更改控制台生产者的属性
linger.ms
(默认为1000ms)和batch.size
(默认情况下为16384)您需要在命令行中使用--timeout
以及--max-partition-memory-bytes
例如,如果您在Kafka的主文件夹中: