我需要设置两个参数min.insync.replicas
和acks
。官方文档说参数min.insync.replicas
是经纪人的参数。我是否正确理解所有主题都应该在server.properties文件中指定?例如,使用命令kafka.config.sh.Acks
参数只能在配置生产者时设置,例如,从应用程序?更改文件生产者属性不会有帮助吗?
server.properties
中定义的主题相关属性对所有主题都有效(假设在创建主题时不修改任何配置(。
现在,如果出于任何原因您想修改特定主题的一个属性,您可以通过提供该主题的新配置来覆盖全局配置。例如,
bin/kafka-configs.sh
--zookeeper localhost:2181
--alter
--entity-type topics
--entity-name yourTopicName
--add-config min.insync.replicas=2
或者,如果您想创建一个与server.properties
中定义的配置不同的主题,您可以使用:
bin/kafka-topics.sh
--zookeeper localhost:2181
--create
--topic yourTopicName
--partitions 1
--replication-factor 3
--config min.insync.replicas=2
最后,如果你想验证配置是否有效,你可以简单地描述主题,添加的配置将显示在(右上角的Configs
(的输出中:
bin/kafka-topics
--zookeeper localhost:2181
--describe
--topic yourTopicName