Google cloud platform 将数据流Kafka用于bigquery模板时出错
我正在使用dataflow kafka来创建bigquery模板。启动数据流作业后,它在队列中停留一段时间,然后失败,错误如下:Google cloud platform 将数据流Kafka用于bigquery模板时出错,google-cloud-platform,apache-kafka,google-cloud-dataflow,dataflow,Google Cloud Platform,Apache Kafka,Google Cloud Dataflow,Dataflow,我正在使用dataflow 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
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安装在gcp实例中,该实例与dataflow worker位于同一区域和子网中。将此添加到此处,作为后代的答案: “获取主题元数据时超时过期”表示Kafka客户端无法连接到代理以获取元数据。这可能是由于各种原因造成的,例如工作虚拟机无法与代理对话(您是通过公共IP还是私有IP进行对话?如果使用公共IP,请检查传入的防火墙设置)。也可能是由于端口不正确或代理需要SSL连接。一种确认方法是将Kafka客户端安装在与Dataflow Worker位于同一子网的GCE VM上,然后验证Kafka客户端是否可以连接到Kafka代理 请参阅[1]以配置Kafka客户端的ssl设置(您可以在GCE实例上使用cli进行测试)。管理代理的团队可以告诉您他们是否需要SSL连接
[1] 将此添加到此处,作为子孙后代的答案: “获取主题元数据时超时过期”表示Kafka客户端无法连接到代理以获取元数据。这可能是由于各种原因造成的,例如工作虚拟机无法与代理对话(您是通过公共IP还是私有IP进行对话?如果使用公共IP,请检查传入的防火墙设置)。也可能是由于端口不正确或代理需要SSL连接。一种确认方法是将Kafka客户端安装在与Dataflow Worker位于同一子网的GCE VM上,然后验证Kafka客户端是否可以连接到Kafka代理 请参阅[1]以配置Kafka客户端的ssl设置(您可以在GCE实例上使用cli进行测试)。管理代理的团队可以告诉您他们是否需要SSL连接
[1] 嘿,谢谢大家的帮助,我正试图用内部ip访问卡夫卡。当我把它交给公共ip时,它起了作用。实际上,我在同一个子网中运行卡夫卡机器和工人。因此,它应该与内部ip也。。。我现在正在检查嘿,谢谢大家的帮助,我正试图用内部ip访问卡夫卡。当我把它交给公共ip时,它起了作用。实际上,我在同一个子网中运行卡夫卡机器和工人。因此,它应该与内部ip也。。。我现在正在检查它您是否尝试更改日志设置以在信息级别显示日志?模板启动日志显示为信息(甚至错误)。如果有帮助,请告诉我。谢谢@Pablo,这是我在信息部分java.lang.RuntimeException:org.apache.kafka.common.errors.TimeoutException:Timeout在获取主题元数据时过期了我看到了--您看到了这个信息日志周围的堆栈跟踪吗?通常情况下,堆栈跟踪将显示为中每行一个日志项stack@Pablo,org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:192)org.apache.beam.sdk.Pipeline.run(Pipeline.java:317)org.apache.beam.sdk.Pipeline.run(Pipeline.java:303)com.google.cloud.teleport.v2.templates.KafkaToBigQuery.run(KafkaToBigQuery.java:343)位于com.google.cloud.teleport.v2.templates.KafkaToBigQuery.main(KafkaToBigQuery.java:222)原因:org.apache.kafka.common.errors.TimeoutException:获取主题时超时过期metadata@Pablo,只有一个查询..我没有为UDF指定路径。它必须提供UDF函数路径吗?基本上我没有执行任何转换您是否尝试更改日志设置以在信息级别显示日志?模板启动OG显示为信息(甚至错误)。请让我知道这是否有帮助。谢谢@Pablo,这是我在信息部分java.lang.RuntimeException:org.apache.kafka.common.errors.TimeoutException:Timeout在获取主题元数据时过期的内容。我看到了——您看到了此信息日志周围的堆栈跟踪吗?通常,堆栈跟踪会在stack@Pablo, org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:192)org.apache.beam.sdk.Pipeline.run(Pipeline.java:317)org.apache.beam.sdk.Pipeline.run(Pipeline.java:303)com.google.cloud.teleport.v2.templates.KafkaToBigQuery.run(KafkaToBigQuery.java:343)com.google.cloud.templates.kafkafkatobigquery.main(KafkaToBigQuery.java:222)由以下原因引起:org.apache.kafka.common.errors.TimeoutException:获取主题时超时过期metadata@Pablo,只有一个查询..我没有为UDF指定路径。它必须提供UDF函数路径吗?基本上我没有执行任何转换