【问题标题】:Kafka Streams replication factor not applied to state store changelog topicsKafka Streams 复制因子不适用于状态存储更改日志主题
【发布时间】:2021-01-28 15:38:47
【问题描述】:

我们通过 Spring Cloud Stream 集成使用 Kafka Streams。我通过设置配置了要在所有内部 Kafka Streams 主题中使用的复制因子

spring.cloud.stream.kafka.streams.binder.configuration.replication.factor=${REPL_FACTOR}

它适用于 Kafka Streams 内部使用的大多数重新分区/更改日志主题。但是,此设置似乎对通过 Materialized#as(StoreSupplier) 手动创建的状态存储更改日志主题没有影响。对于这些主题,我仍然可以看到复制因子设置为默认值 1。也无法使用 Materialized#withLoggingEnabled(Map<String, String>) 设置它,因为它只接受主题级别的配置(replication.factor 是 Streams 配置)。这是 Kafka Streams 中的一个已知错误吗?我什么也找不到。如果是这样,是否有解决方法来增加这些变更日志主题的复制因子?

我们在代理端使用 Kafka v2.3.1,在客户端使用 2.5.0。

【问题讨论】:

  • 我对流不太熟悉,但是您可以更改代理上的默认值。 kafka.apache.org/documentation/#default.replication.factor 不确定这是否有帮助。
  • 描述说这个设置只适用于“自动创建的主题”,所以我猜只有auto.create.topics.enable设置为true(我们不是这种情况)。
  • 看我的回答;我在 JIRA 中添加了一条注释来修复文档。另外,你用的是什么版本?我刚刚用 3.0.8 对其进行了测试,它按预期工作;查看我的答案的编辑。

标签: apache-kafka apache-kafka-streams spring-cloud-stream


【解决方案1】:

从 2.4 版开始,AdminClient 现在可以在 NewTopic 中将复制因子设置为 -1,这意味着在创建主题时应该使用 default.replication.factor - KIP-464

但是,Kafka Streams 目前似乎没有使用此功能;对此有一个未解决的问题KAFKA-8531

您可以使用

设置内部主题的复制因子
StreamsConfig.REPLICATION_FACTOR_CONFIG)

https://kafka.apache.org/documentation/#replication.factor

流处理应用程序创建的更改日志主题和重新分区主题的复制因子。

由于您是通过活页夹配置进行设置的,因此它应该可以按预期工作。

编辑

您使用的是什么版本的 spring-cloud-stream?我刚刚用 3.0.8 进行了测试,它按预期工作。

spring.cloud.stream.kafka.streams.binder.configuration.replication.factor: 3

2020-10-15 12:03:55,601 错误 [kafka-stre] OakspiStreamThread:673 - 流线程 [kafka-streams-inventory-processor-b8d07a5a-f3c4-476a-a265-119163d2acb7-StreamThread-1]在处理过程中遇到了以下意外的Kafka异常,这通常表明Streams内部错误: org.apache.kafka.streams.errors.StreamsException:无法创建主题 kafka-streams-inventory-processor-inventory-counts-changelog。

原因:org.apache.kafka.common.errors.InvalidReplicationFactorException:复制因子:3 大于可用代理:1。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    • 2019-12-11
    • 2021-10-11
    • 1970-01-01
    • 2017-12-18
    相关资源
    最近更新 更多