kgm*_*234 5 apache-kafka kafka-consumer-api kafka-producer-api
我正在使用命令行生产者和消费者对 Kafka 进行测试运行。
我在一个终端窗口中运行它
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic tag7
Run Code Online (Sandbox Code Playgroud)
这在另一个
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic tag7 --zookeeper localhost:2181
Run Code Online (Sandbox Code Playgroud)
但是我发送给消费者的数据需要 1 秒多的时间。我发送的数据是我输入到生产者的数据,所以基本上每隔几秒就会有 1 条消息。是否有任何我可以更改的配置选项,以便 Kafka 代理每秒期望很少的消息,从而使消息移动得更快?
我使用的是Zookeeper和Kafka的默认配置,所以配置不多。
先感谢您!
由于Ivan Georgiev的回答对我不起作用(不仅因为它是关于消费者而不是生产者),我在 StackOverFlow 中打开了另一个问题,最后也在Apache 的 Jira和ppatierno(谢谢)回答了为什么会发生以及如何解决。
要更改控制台生产者的属性linger.ms
(默认为 1000 毫秒)和batch.size
(默认为 16384),您需要在命令行中分别使用--timeout
和指定它--max-partition-memory-bytes
,例如,如果您在 Kafka 的主文件夹中:
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testConsole --timeout 100
Run Code Online (Sandbox Code Playgroud)
Kafka有两个配置参数——一个是设置在应答消费者请求之前接收的最小数据量,另一个是设置在应答请求之前等待数据到达的最长时间。
您可以尝试添加以下选项:
--consumer-property fetch.max.wait.ms=0 --consumer-property fetch.min.bytes=0
Run Code Online (Sandbox Code Playgroud)
欲了解更多信息:
归档时间: |
|
查看次数: |
2927 次 |
最近记录: |