【发布时间】:2021-03-18 12:27:44
【问题描述】:
我正在使用数据流 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 主题名称
- 引导服务器名称
- bigquery 主题名称
- SA 电子邮件
- 区域。
我的 kafka 主题仅包含消息:你好
kafka 安装在 gcp 实例中,该实例与 dataflow worker 位于同一区域和子网中。
【问题讨论】:
-
您是否尝试过更改日志设置以在 INFO 级别显示日志?模板启动日志显示为 INFO(甚至是错误)。让我知道这是否有帮助。
-
感谢@Pablo,这是我在 INFO 部分看到的 java.lang.RuntimeException: org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata
-
啊,我明白了——你看到这个信息日志周围的堆栈跟踪了吗?通常堆栈跟踪将显示为堆栈中每一行的一个日志条目
-
@Pablo,在 org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:192) 在 org.apache.beam.sdk.Pipeline.run(Pipeline.java:317 ) 在 com.google.cloud.teleport.v2.templates.KafkaToBigQuery.run(KafkaToBigQuery.java:343) 在 com.google.cloud 的 org.apache.beam.sdk.Pipeline.run(Pipeline.java:303)。 teleport.v2.templates.KafkaToBigQuery.main(KafkaToBigQuery.java:222) 原因:org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata
-
@Pablo,只有一个查询.. 我没有为 UDF 指定路径。一定要提供UDF函数路径吗?基本上我没有进行任何转换
标签: google-cloud-platform apache-kafka google-cloud-dataflow dataflow