GCP DataFlow Kafka 到 BigQuery 的 DNS 映射
DNS mapping for GCP DataFlow Kafka to BigQuery
你好,我正在尝试 运行 使用数据流从托管在 GCP 外部的 kafka 读取一些事件的作业,该作业是 运行 在 VPC 网络上。
问题是 kafka 配置为使用主机名而不是 IP 进行应答,因此在 bootstrap 中指定 ips 会导致在 运行 在数据流上运行作业时无法连接到目标节点。
Reader-1: Timeout while initializing partition 'placeholder'. Kafka client may not be able to connect to servers.
另一方面,如果我使用 kafka 创建一个 VM 并在 etc/host
映射主机名-ip 中指定我能够正确使用。
为了使其在 Dataflow 上运行,我尝试使用 DNS name = .
创建一个私有云 DNS,这允许我创建一个区域,我可以在其中将每个条目中的主机映射 DNS name = nodename1.
到 data = IP1
.
这似乎可行,因为我能够 telnet nodename1
在我没有在 etc/host
中指定映射的 VM 上
但是作业在开始时卡住了,我得到的唯一错误是:
"Timeout in polling result file: gs://placeholder/staging,zone=europe-central2-a/template_launches/2021-09-28_01_43_38-12780367774525067695/operation_result.
Possible causes are:
1. Your launch takes too long time to finish. Please check the logs on stackdriver.
2. Service account placeholder@placeholder may not have enough permissions to pull container image gcr.io/dataflow-templates/2021-09-20-00_rc00/kafka-to-bigquery or create new objects in gs://placeholder.
3. Transient errors occurred, please try again."
有没有一种简单的方法可以将主机映射到 ip 以用于数据流中的作业?
我想通了。
正确的方法是不使用 DNS name=.
创建区域,因为这意味着要解析每个域,GCP 会查看该区域,除了 name-ip
条目外找不到任何其他内容我创建。由于 Dataflow 工作人员在内部查询 169.254.169.254,这被转发到我创建的区域并且无法解析,导致作业挂起。
正确的方法是使用 DNS name = nodename.
为每个 kafka“nodename”创建一个区域,然后映射一个条目 nodename.-ip
.
通过对引导的每个节点名重复此操作,数据流无法自动解析,我能够正确地使用 kafka 主题。
你好,我正在尝试 运行 使用数据流从托管在 GCP 外部的 kafka 读取一些事件的作业,该作业是 运行 在 VPC 网络上。
问题是 kafka 配置为使用主机名而不是 IP 进行应答,因此在 bootstrap 中指定 ips 会导致在 运行 在数据流上运行作业时无法连接到目标节点。
Reader-1: Timeout while initializing partition 'placeholder'. Kafka client may not be able to connect to servers.
另一方面,如果我使用 kafka 创建一个 VM 并在 etc/host
映射主机名-ip 中指定我能够正确使用。
为了使其在 Dataflow 上运行,我尝试使用 DNS name = .
创建一个私有云 DNS,这允许我创建一个区域,我可以在其中将每个条目中的主机映射 DNS name = nodename1.
到 data = IP1
.
这似乎可行,因为我能够 telnet nodename1
在我没有在 etc/host
中指定映射的 VM 上
但是作业在开始时卡住了,我得到的唯一错误是:
"Timeout in polling result file: gs://placeholder/staging,zone=europe-central2-a/template_launches/2021-09-28_01_43_38-12780367774525067695/operation_result.
Possible causes are:
1. Your launch takes too long time to finish. Please check the logs on stackdriver.
2. Service account placeholder@placeholder may not have enough permissions to pull container image gcr.io/dataflow-templates/2021-09-20-00_rc00/kafka-to-bigquery or create new objects in gs://placeholder.
3. Transient errors occurred, please try again."
有没有一种简单的方法可以将主机映射到 ip 以用于数据流中的作业?
我想通了。
正确的方法是不使用 DNS name=.
创建区域,因为这意味着要解析每个域,GCP 会查看该区域,除了 name-ip
条目外找不到任何其他内容我创建。由于 Dataflow 工作人员在内部查询 169.254.169.254,这被转发到我创建的区域并且无法解析,导致作业挂起。
正确的方法是使用 DNS name = nodename.
为每个 kafka“nodename”创建一个区域,然后映射一个条目 nodename.-ip
.
通过对引导的每个节点名重复此操作,数据流无法自动解析,我能够正确地使用 kafka 主题。