Rim*_*Rim 7 vpc google-cloud-dataflow apache-beam
我没有配置项目,并且每次运行我的作业时都会收到此错误“网络默认设置没有打开 TCP 端口 1-65535 以与其他 VM 进行内部连接的规则。仅具有目标标记“数据流”或空目标标记集的规则适用。如果您不指定这样的规则,则任何具有多于一个工作人员来混洗数据的管道都将挂起。原因:没有与您的网络关联的防火墙规则。'
google_cloud_options = p_options.view_as(GoogleCloudOptions)
google_cloud_options.region = 'europe-west1'
google_cloud_options.project = 'my-project'
google_cloud_options.job_name = 'rim'
google_cloud_options.staging_location = 'gs://my-bucket/binaries'
google_cloud_options.temp_location = 'gs://my-bucket/temp'
p_options.view_as(StandardOptions).runner = 'DataflowRunner'
p_options.view_as(SetupOptions).save_main_session = True
p_options.view_as(StandardOptions).streaming = True
p_options.view_as(WorkerOptions).subnetwork = 'regions/europe-west1/subnetworks/test'
p = beam.Pipeline(options=p_options)
Run Code Online (Sandbox Code Playgroud)
看起来您的默认防火墙规则已被修改,并且数据流检测到了这一点并阻止了您的作业启动。你能确认你的防火墙规则没有在你的项目中被修改吗?请查看此处的文档。您还将在此处找到一个命令来恢复防火墙规则:
gcloud compute firewall-rules create [FIREWALL_RULE_NAME] \
--network [NETWORK] \
--action allow \
--direction ingress \
--target-tags dataflow \
--source-tags dataflow \
--priority 0 \
--rules tcp:1-65535
Run Code Online (Sandbox Code Playgroud)
为防火墙选择一个名称,并提供一个网络名称。然后在启动数据流作业时使用 --network 传递网络名称。如果您有一个名为“默认”的网络,数据流将尝试自动使用它,因此您无需传入 --network。如果您已删除该网络,您可能希望重新创建它。
| 归档时间: |
|
| 查看次数: |
1653 次 |
| 最近记录: |