[英]Left join with CoGroupByKey sink to BigQuery using Dataflow
[英]Error while using dataflow Kafka to bigquery template
我正在使用数据流 kafka 到 bigquery 模板。 启动数据流作业后,它在队列中停留了一段时间,然后失败并出现以下错误:
Error occurred in the launcher container: Template launch failed. See console logs.
查看日志时,我看到以下堆栈跟踪:
at org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:192)
at org.apache.beam.sdk.Pipeline.run(Pipeline.java:317)
at org.apache.beam.sdk.Pipeline.run(Pipeline.java:303)
at com.google.cloud.teleport.v2.templates.KafkaToBigQuery.run(KafkaToBigQuery.java:343)
at com.google.cloud.teleport.v2.templates.KafkaToBigQuery.main(KafkaToBigQuery.java:222)
Caused by: org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata –
在启动工作时,我提供了以下参数:
我的 kafka 主题只有 contanis 消息:你好
kafka 安装在 gcp 实例中,该实例与数据流工作者位于同一区域和 su.net 中。
在这里添加这个作为后代的答案:
“获取主题元数据时超时”表示 Kafka 客户端无法连接到代理以获取元数据。 这可能是由于各种原因造成的,例如工作虚拟机无法与代理通信(您是通过公共 ip 还是私有 ip 通信?如果使用公共 ip,请检查传入的防火墙设置)。 也可能是由于端口不正确或由于代理需要 SSL 连接。 一种确认方法是将 Kafka 客户端安装在与 Dataflow 工作人员位于同一 su.net 中的 GCE VM 上,然后验证 Kafka 客户端是否可以连接到 Kafka 代理。
参考 [1] 为 Kafka 客户端配置 ssl 设置(您可以使用 GCE 实例上的 cli 进行测试)。 管理经纪人的团队可以告诉您他们是否需要 SSL 连接。
[1] https://docs.confluent.io/platform/current/kafka/authentication_ssl.html#clients
嘿,谢谢大家的帮助,我试图通过内部 ip 访问 kafka。当我将它公开到 ip 时它起作用了。实际上我在同一个 su.net 中同时运行 kafka 机器和工作人员。 所以它也应该与内部 ip 一起工作......我现在正在检查它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.