【问题标题】:Where to set parameters min.insync.replicas and acks in Java?在 Java 中哪里设置参数 min.insync.replicas 和 acks?
【发布时间】:2020-08-21 17:33:02
【问题描述】:

我需要设置两个参数min.insync.replicasacks。官方文档说参数min.insync.replicas是broker的参数。我是否正确理解应该在 server.properties 文件中指定所有主题?其中之一 - 使用命令 kafka.config.sh。 Acks 参数只能在配置生产者时设置,例如从应用程序?对文件 producer.properties 的更改没有帮助?

【问题讨论】:

  • 听起来你的理解是对的。您是否尝试过并遇到过任何问题?

标签: java apache-kafka broker kafka-topic


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 2018-03-09
    • 2018-02-28
    • 1970-01-01
    • 2019-04-02
    • 2020-03-07
    • 2016-12-25
    相关资源
    最近更新 更多