在哪里设置参数 min.insync.replicas 和 Java 中的 ack?
Where to set parameters min.insync.replicas and acks in Java?
我需要设置两个参数min.insync.replicas
和acks
。官方文档说参数min.insync.replicas
是broker的参数。我是否正确理解所有主题都应在 server.properties 文件中指定?其中之一 - 使用命令 kafka.config.sh。 Acks
参数只能在配置生产者时设置,例如从应用程序?对文件的更改 producer.properties 没有帮助?
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
我需要设置两个参数min.insync.replicas
和acks
。官方文档说参数min.insync.replicas
是broker的参数。我是否正确理解所有主题都应在 server.properties 文件中指定?其中之一 - 使用命令 kafka.config.sh。 Acks
参数只能在配置生产者时设置,例如从应用程序?对文件的更改 producer.properties 没有帮助?
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