Apache kafka 在哪里定义topic.metadata.refresh.interval.ms?

Apache kafka 在哪里定义topic.metadata.refresh.interval.ms?,apache-kafka,Apache Kafka,我正在测试卡夫卡一点,希望我能很快把它放到我的制作堆栈中 我正在使用文件kafka console producer.sh和kafka console consumer.sh来测试kafka的功能 我创建了一个包含两个分区的主题,但是我看到我的制作人发送的所有消息都将被分配到一个分区 我在互联网上搜索了这个,发现有一个名为topic.metadata.refresh.interval.ms的设置,它告诉制作人更改当前正在写入的分区,默认设置是10分钟 我正在尝试更改此设置,但我不知道在哪里 卡夫

我正在测试卡夫卡一点,希望我能很快把它放到我的制作堆栈中
我正在使用文件
kafka console producer.sh
kafka console consumer.sh
来测试kafka的功能

我创建了一个包含两个分区的主题,但是我看到我的制作人发送的所有消息都将被分配到一个分区

我在互联网上搜索了这个,发现有一个名为
topic.metadata.refresh.interval.ms
的设置,它告诉制作人更改当前正在写入的分区,默认设置是10分钟


我正在尝试更改此设置,但我不知道在哪里

卡夫卡属性可以在以下三个文件中找到

server.properties、producer.properties、consumer.properties

这些文件将位于文件夹
kafka folder/config/
中。默认情况下,某些属性将在这些文件中可用。您可以随时添加所需的属性。属性列表在此链接中给出。此链接包含服务器、生产者和消费者的所有属性的详细说明

由于
主题.metadata.refresh.interval.ms
是生产者配置,因此需要在
生产者.properties
文件中添加此属性


注意:上面的链接是卡夫卡-0.8版的属性配置,您也可以在:


我知道您指的是Java客户机,Jaya的回答就足够了。如果您正在使用构建在
librdkafka
之上的客户端配置,则配置可能会略有不同:

metadata.max.age.ms

元数据缓存最大年龄。默认为metadata.refresh.interval.ms*3。类型:整数

topic.metadata.refresh.interval.ms


主题元数据刷新间隔(毫秒)。元数据在出错并连接时自动刷新。使用-1禁用间隔刷新。Type:integer

如果我想在python SimpleProducer中设置这个属性,那么我可以如何定义?您是如何发现所有消息都将发送到一个分区的?
Properties props = new Properties();
props.put("topic.metadata.refresh.interval.ms", "10");
ProducerConfig config = new ProducerConfig(props);