【问题标题】:Kafka Replication Factor For 5 node Broker Cluster5 节点代理集群的 Kafka 复制因子
【发布时间】:2021-01-14 13:23:37
【问题描述】:

我正在建立一个包含 3 个 Zookeper 和 5 个 Kafka Broker 节点的 Confluent Kafka 集群(社区)。 要求是即使有 2 个代理节点关闭,我们也应该能够在实时环境中继续运行。

应该推荐什么 -复制因子, -同步副本 适用于具有 50 个分区的主题。

在大多数情况下,建议的复制因子是 3 。如果我们在上述集群配置中将其增加到 5 会有什么影响

【问题讨论】:

    标签: apache-kafka confluent-platform replication-factor


    【解决方案1】:

    将复制因子设置为 5 意味着所有分区都存在于集群中的所有代理上。如果两个代理出现故障,则不再满足复制因子要求,并且您的主题将被复制不足(应发出警告)。

    min.insync.replicas 应设置为 3(或更少),否则生成带有 acks = all 的消息将失败。生成将acks 设置为1、2 或3 的消息也适用于min.insync.replicas 的更高值。

    另请注意,当两个节点关闭时,您无法创建复制因子为 5 的新主题(另请参阅 KIP-409)。

    【讨论】:

    • 谢谢马吕斯。考虑到 ack=all 这两个选项是 a)replication-factor 5 表示高可用性,min.insync.replicas = 3 表示持久性 b)replication-factor 3 表示高可用性,min.insync.replicas = 3 表示持久性。哪一个将是生产的更好选择。假设所有必需的主题都已预先创建。您是否发现上述任何一个选项有任何问题。
    • 如果高可用性具有最高优先级,请选择 repl-factor 5。它的代价是额外的网络流量、高磁盘使用率,并且需要更长时间才能使新代理上线。总的来说,我认为 repl-factor 3 应该足够了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 1970-01-01
    • 2020-07-26
    • 2019-07-22
    • 1970-01-01
    相关资源
    最近更新 更多