Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka Kafka Streams复制因子未应用于状态存储更改日志主题_Apache Kafka_Apache Kafka Streams_Spring Cloud Stream - Fatal编程技术网

Apache kafka Kafka Streams复制因子未应用于状态存储更改日志主题

Apache kafka Kafka Streams复制因子未应用于状态存储更改日志主题,apache-kafka,apache-kafka-streams,spring-cloud-stream,Apache Kafka,Apache Kafka Streams,Spring Cloud Stream,我们通过Spring云流集成使用Kafka流。我通过设置 spring.cloud.stream.kafka.streams.binder.configuration.replication.factor=${REPL_FACTOR} 它适用于Kafka Streams内部使用的大多数重新分区/更改日志主题。但是,此设置似乎对通过Materialized\as(StoreSupplier)手动创建的状态存储更改日志主题没有影响。对于这些主题,我仍然可以看到复制因子设置为默认值1。使用Mater

我们通过Spring云流集成使用Kafka流。我通过设置

spring.cloud.stream.kafka.streams.binder.configuration.replication.factor=${REPL_FACTOR}
它适用于Kafka Streams内部使用的大多数重新分区/更改日志主题。但是,此设置似乎对通过
Materialized\as(StoreSupplier)
手动创建的状态存储更改日志主题没有影响。对于这些主题,我仍然可以看到复制因子设置为默认值1。使用
Materialized#withlogginenabled(Map)
设置它也是不可能的,因为它只接受主题级配置(
replication.factor
是Streams配置)。这是卡夫卡流中已知的错误吗?我什么也找不到。如果是这样,是否有一种变通方法来增加这些变更日志主题的复制系数


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

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

然而,Kafka Streams目前似乎没有使用此功能;这是一个公开的问题

您可以使用设置内部主题的复制因子

StreamsConfig.REPLICATION_FACTOR_CONFIG)

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

由于您正在通过活页夹配置进行设置,因此它应该按预期工作

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

您使用的是哪个版本的SpringCloudStream?我刚刚用3.0.8进行了测试,它工作正常

spring.cloud.stream.kafka.streams.binder.configuration.replication.factor: 3
2020-10-15 12:03:55601错误[kafka stre]o.a.k.s.p.i.StreamThread:673-流线程[kafka-streams-inventory-processor-b8d07a5a-f3c4-476a-a265-119163d2acb7-StreamThread-1]在处理过程中遇到以下意外的kafka异常,这通常表示流内部错误: org.apache.kafka.streams.errors.StreamsException:无法创建主题kafka streams清单处理器清单计数更改日志

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


我不太熟悉streams,但是您可以在代理上更改默认值。不确定这是否会有帮助。说明中说此设置仅适用于“自动创建的主题”,因此我猜只有当设置为true时才适用(我们不是这样)。请参阅我的答案;我在JIRA中添加了一个注释来修复文档。另外,您使用的是什么版本?我刚刚用3.0.8对它进行了测试,它工作正常;请参阅对我的答案的编辑。