【问题标题】:Replication factor: 3 larger than available brokers: 1 in @EmbeddedKafka复制因子:3 大于可用经纪人:@EmbeddedKafka 中的 1
【发布时间】:2023-01-30 01:40:08
【问题描述】:

我想测试 kafka - 交易。

    kafkaTemplate.executeInTransaction { tx ->
        tx.sendDefault("abacaba") // Should I do .get() ??
        tx.sendDefault("abacaba")
    }

当测试开始时我得到下一个日志:

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

2023-01-27 16:18:17.831  INFO 81975 --- [quest-handler-4] kafka.server.ZkAdminManager              
: [Admin Manager on Broker 0]: Error processing create topic request 
CreatableTopic(name='__transaction_state', numPartitions=50, replicationFactor=3, 
assignments=[], configs=[CreateableTopicConfig(name='compression.type', 
value='uncompressed'), CreateableTopicConfig(name='cleanup.policy', value='compact'), 
CreateableTopicConfig(name='min.insync.replicas', value='2'), 
CreateableTopicConfig(name='segment.bytes', value='104857600'), 
CreateableTopicConfig(name='unclean.leader.election.enable', value='false')])

我尝试设置复制因子,但它不起作用:(

请帮帮我。

【问题讨论】:

  • 该错误意味着当您请求 3 个时,您只有一个 Kafka Broker:educba.com/kafka-replication-factor
  • 如何在@KafkaEmbedded 注解中配置kafka?我尝试设置复制因子属性,但没有帮助

标签: spring-kafka


【解决方案1】:

你没有在你的问题中说你处理@EmbeddedKafka。有关详细信息,请参阅其 JavaDocs:

/**
 * @return the number of brokers
 */
@AliasFor("value")
int count() default 1;

当集群中有足够多的代理时,您可以就这个或那个主题请求复制因子,但当然不能超过多个代理。

【讨论】:

    猜你喜欢
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 2017-10-28
    • 1970-01-01
    • 2015-09-21
    • 2019-10-03
    • 2015-03-23
    相关资源
    最近更新 更多