【问题标题】:Replication factor: 3 larger than available brokers: 1 when starting the kafka复制因子:比可用代理大 3:启动 kafka 时为 1
【发布时间】:2021-11-03 16:42:58
【问题描述】:

我去年在我的mac中安装了一个kafka,系统内有很多主题。现在我将 zookeeper 和 kafka 升级到最新版本。

运行zookeeper就成功了

zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties

然后是经纪人:

kafka-server-start /usr/local/etc/kafka/server.properties

但它出现了错误

INFO [Admin Manager on Broker 0]: Error processing create topic request CreatableTopic(name='_confluent-license', numPartitions=1, replicationFactor=3, assignments=[], configs=[CreateableTopicConfig(name='cleanup.policy', value='compact'), CreateableTopicConfig(name='min.insync.replicas', value='2')]) (kafka.server.AdminManager)
org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 1.

我该如何解决?

【问题讨论】:

    标签: apache-kafka


    【解决方案1】:

    Confluent 企业许可证存储在_confluent-command 主题中。该主题是默认创建的,包含与通过confluent.license 属性提供的许可证密钥相对应的许可证。因此,当您启动 Kafka 服务器时,它会尝试使用 3 的复制因子创建它,但只有 1 个代理可用,因此它失败了。

    /usr/local/etc/kafka/server.properties 文件中将confluent.topic.replication.factor 属性设置为1

    【讨论】:

    • 我们不应该在没有许可的情况下使用这个捆绑包?
    • 似乎默认的假设集群 3 是愚蠢的。此外,需要设置三个单独的复制因子:stackoverflow.com/a/62530484/562644
    【解决方案2】:

    @Pardeep 的回答对我有用,但对我来说,需要设置更多的复制因子(我使用的是 Confluent 6.2.1):

    confluent.balancer.topic.replication.factor=1
    confluent.durability.topic.replication.factor=1
    confluent.license.topic.replication.factor=1
    confluent.tier.metadata.replication.factor=1
    transaction.state.log.replication.factor=1
    offsets.topic.replication.factor=1
    

    您可以使用 findstr(在 Windows 上)或 grep(在基于 Unix 的操作系统上)从控制台输出中提取它们:

    kafka-server-start /usr/local/etc/kafka/server.properties | findstr "replication.factor"
    

    【讨论】:

      猜你喜欢
      • 2020-10-12
      • 2019-06-01
      • 2016-01-10
      • 2015-03-22
      • 2022-08-20
      • 1970-01-01
      • 2023-01-30
      • 1970-01-01
      • 2021-01-02
      相关资源
      最近更新 更多