【问题标题】:Apache Kafka: Fetching topic metadata with correlation id 0Apache Kafka:获取相关 id 为 0 的主题元数据
【发布时间】:2016-09-01 12:48:54
【问题描述】:

我使用以下代码向我的 Kafka 发送了一条消息:

 def getHealthSink(kafkaHosts: String, zkHosts: String) = {
    val kafkaHealth: Subscriber[String] = kafka.publish(ProducerProperties(
      brokerList = kafkaHosts,
      topic = "health_check",
      encoder = new StringEncoder()
    ))
    Sink.fromSubscriber(kafkaHealth).runWith(Source.single("test"))
  }
  val kafkaHealth = getHealthSink(kafkaHosts, zkHosts)

我收到以下错误消息:

错误 kafka.utils.Utils$ 获取主题的主题元数据 [Set(health_check)] 来自经纪人 [ArrayBuffer(id:0,host:****,port:9092)] 失败 kafka.common.KafkaException:获取主题的主题元数据 [Set(health_check)] 来自经纪人 [ArrayBuffer(id:0,host:****,port:9092)] 失败

您知道可能是什么问题吗?

【问题讨论】:

    标签: apache-kafka


    【解决方案1】:

    错误消息非常不清楚,但基本上“获取主题元数据”是生产者做的第一件事,这意味着它首先建立与 Kafka 的连接。

    很有可能您尝试连接的代理已关闭,或者存在其他连接问题(端口、防火墙、dns 等)。

    在不相关的新闻中:您似乎正在使用旧的和已弃用的 Scala 生产者。我们建议迁移到新的 Java 生产者 (org.apache.kafka.clients.KafkaProducer)

    【讨论】:

    • 谢谢。这是VM机器的连接问题。至于Kafka,我在网上看到很多理论资料。尽管如此,仍然没有足够的代码示例或教程来说明如何编写与 Kafka 管理的服务器通信的代码。您能否提供一些可以为此提供良好指导的良好链接?
    猜你喜欢
    • 2016-04-23
    • 2016-10-20
    • 2019-10-06
    • 2021-10-07
    • 2020-05-15
    • 1970-01-01
    • 2019-06-12
    • 2015-08-16
    • 2020-09-18
    相关资源
    最近更新 更多