【问题标题】:java.lang.RuntimeException: org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadatajava.lang.RuntimeException:org.apache.kafka.common.errors.TimeoutException:获取主题元数据时超时
【发布时间】:2021-03-19 00:53:00
【问题描述】:

我正在使用数据流 kafka 到 bigquery 模板。启动数据流作业后,它会在队列中停留一段时间,然后失败并出现以下错误:

java.lang.RuntimeException: org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata

在启动工作时,我提供了以下参数:

  1. kafka 主题名称
  2. 引导服务器 ip 和端口(私有 ip)
  3. bigquery 主题名称
  4. SA 电子邮件
  5. 区域。
  6. 网络、子网(运行 kafka 服务器的同一网络)

我的 kafka 主题仅包含消息:你好

kafka 安装在 gcp 实例中,该实例与 dataflow worker 位于同一区域和子网中。

【问题讨论】:

  • 问题似乎在 Kafka 一方,以下Stackoverflow thread 中提到了一个可能的解决方案,其中提到在尝试连接到期望 SSL 连接的代理时可能会发生该问题,并且客户端配置未指定,解决方案是将安全协议设置为 SSL:security.protocol=SSL
  • 确保您的 Kafka 代理 listeners 属性设置为外部绑定
  • 嘿,谢谢@OneCricketeer,我正在尝试使用内部 ip 访问 kafka。当我将它添加到公共 IP 时它起作用了。实际上我在同一个子网中同时运行卡夫卡机器和工人。所以它也应该与内部 ip 一起使用......我现在正在检查它

标签: apache-kafka google-cloud-dataflow dataflow


【解决方案1】:

这个问题解决了。我试图使用内部 IP 访问 kafka 引导服务器。当我将其更改为公共 ip 时它起作用了。

【讨论】:

    猜你喜欢
    • 2021-10-07
    • 2019-06-12
    • 2020-09-18
    • 2019-11-22
    • 1970-01-01
    • 2019-12-25
    • 1970-01-01
    • 2020-08-07
    • 1970-01-01
    相关资源
    最近更新 更多