【问题标题】:Topic( s) [xxx] is/are not present and missingTopicsFatal is trueTopic(s) [xxx] 存在/不存在且 missingTopicsFatal 为真
【发布时间】:2020-07-27 04:08:38
【问题描述】:

我在尝试将 kafka 与 Spring Boot 集成时收到以下异常:

java.lang.IllegalStateException: Topic(s) [pushEvent] is/are not present and missingTopicsFatal is true

基于此thread,我尝试将spring.kafka.listener.missing-topics-fatal 属性设置为false。因为我有一个 jHipster 应用程序,所以我在 application.yml 中添加了以下配置:

spring:
  kafka:
    listener:
      missing-topics-fatal: false

不知何故,上面的配置没有效果,我仍然收到上面的异常。

我是否在 yaml 配置中遗漏了什么?我需要做一些额外的事情吗?

【问题讨论】:

  • 您是在 Kafka 代理中创建了该主题,还是希望自动创建您想要生成消息的主题?
  • 我希望主题会自动创建。当我手动创建主题时,应用程序运行正常

标签: spring-boot apache-kafka jhipster


【解决方案1】:

参考上面给出的答案(如果没有创建主题)并且如果您使用zookeeper来管理Kafka,那么只需执行下面给出的命令即可。

kafka-topics --create --topic name_of_topic --zookeeper localhost:2181 --replication-factor 1 --partitions 1

【讨论】:

    【解决方案2】:

    您尝试生成消息的主题似乎未创建。 您可以使用以下选项之一解决此问题:

    • 手动创建主题:

      bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

    • 通过在代理配置中将 auto.create.topics.enable 设置为 true 来启用自动主题创建。 (broker端的config/server.properties文件)

    auto.create.topics.enable:在服务器上启用自动创建主题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-06
      • 1970-01-01
      • 1970-01-01
      • 2017-02-26
      • 1970-01-01
      • 2013-04-08
      • 1970-01-01
      • 2022-12-10
      相关资源
      最近更新 更多