我正在测试Kafka一点,希望能把它在我的生产堆栈很快。
我在用这些文件 kafka-console-producer.sh
以及 kafka-console-consumer.sh
测试Kafka的功能。
我创建了一个包含两个分区的主题,但是我看到我的生产者发送的所有消息都将发送到一个分区。
我在网上搜索了这个,发现有一个叫做 topic.metadata.refresh.interval.ms
它告诉生产者更改它当前正在写入的分区,默认值是10分钟。
我正试图改变这个设置,但我不明白在哪里?
3条答案
按热度按时间t2a7ltrp1#
我知道你指的是java客户机,jaya的回答就足够了。如果您正在使用构建在
librdkafka
那么配置可能会略有不同:https://github.com/edenhill/librdkafka/blob/master/configuration.md
metadata.max.age.ms
:元数据缓存最长期限。默认为metadata.refresh.interval.ms*3。类型:整数
topic.metadata.refresh.interval.ms
:主题元数据刷新间隔(毫秒)。元数据在出错并连接时自动刷新。使用-1禁用间隔刷新。类型:整数
csga3l582#
Kafka属性可以在以下三个文件中找到
server.properties, producer.properties, consumer.properties
这些文件将在文件夹中可用kafka-folder/config/
. 默认情况下,这些文件中有一些属性可用。你可以添加任何你想要的属性。属性列表在此链接中给出https://kafka.apache.org/08/configuration.html. 此链接包含服务器、生产者和使用者的所有属性的详细说明。自
topic.metadata.refresh.interval.ms
是生产者配置,您需要在producer.properties
文件注意上面的链接是kafka-0.8版本的属性配置。
kdfy810k3#
也可以在producer类中设置它: