【发布时间】:2019-09-27 06:33:06
【问题描述】:
我是 GCP 平台的新手,正在尝试创建一个简单的数据融合工作流,以从 GCS 存储桶中的文本文件加载 BigQuery 表。
工作流已成功部署。但是,在运行工作流时,它在第 2 步中失败并出现错误声明
PROVISION 任务在程序运行的 REQUESTING_CREATE 状态下失败 程序运行:default.testing_df.-SNAPSHOT.workflow.DataPipelineWorkflow.5ff986e9-7241-11e9-af46-56bbe5c7844b。
在下面的详细日志中,我们对“projects/mylab-gcp”声明具有“必需的 'compute.firewalls.list' 权限”
以下是执行的完整错误日志。
2019-05-09 10:01:13,945 - 调试 [provisioning-service-7:i.c.c.i.p.t.ProvisioningTask@121] - 正在执行 程序运行的 PROVISION 子任务 REQUESTING_CREATE 程序运行:default.testing_df.-SNAPSHOT.workflow.DataPipelineWorkflow.5ff986e9-7241-11e9-af46-56bbe5c7844b。 2019-05-09 10:01:16,839 - 信息 [provisioning-service-7:i.c.c.r.s.p.d.DataprocProvisioner@171] - 创建 Dataproc 集群 cdap-testingdf-5ff986e9-7241-11e9-af46-56bbe5c7844b 带系统标签 {goog-datafusion-version=6_0, cdap-version=6_0_0-1555624816640, goog-datafusion-edition=basic} 2019-05-09 10:01:17,162 - 错误 [provisioning-service-7:i.c.c.i.p.t.ProvisioningTask@151] - 供应 任务在程序运行的 REQUESTING_CREATE 状态下失败 程序运行:default.testing_df.-SNAPSHOT.workflow.DataPipelineWorkflow.5ff986e9-7241-11e9-af46-56bbe5c7844b。 com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 禁止{“代码”:403,“错误”:[{ “域”:“全球”, "message" : "'projects/mylab-gcp' 需要 'compute.firewalls.list' 权限", “原因”:“禁止”}],“消息”:“'projects/mylab-gcp' 所需的 'compute.firewalls.list' 权限”} 在 com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:146) ~[na:na] 在 com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113) ~[na:na] 在 com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40) ~[na:na] 在 com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:321) ~[na:na] 在 com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1065) ~[na:na] 在 com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419) ~[na:na] 在 com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352) ~[na:na] 在 com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469) ~[na:na] 在 io.cdap.cdap.runtime.spi.provisioner.dataproc.DataprocClient.getFirewallTargetTags(DataprocClient.java:310) ~[na:na] 在 io.cdap.cdap.runtime.spi.provisioner.dataproc.DataprocClient.createCluster(DataprocClient.java:155) ~[na:na] 在 io.cdap.cdap.runtime.spi.provisioner.dataproc.DataprocProvisioner.createCluster(DataprocProvisioner.java:172) ~[na:na] 在 io.cdap.cdap.internal.provision.task.ClusterCreateSubtask.execute(ClusterCreateSubtask.java:43) ~[na:na] 在 io.cdap.cdap.internal.provision.task.ProvisioningSubtask.execute(ProvisioningSubtask.java:54) ~[na:na] 在 io.cdap.cdap.internal.provision.task.ProvisioningTask.lambda$executeOnce$0(ProvisioningTask.java:123) ~[na:na] 在 io.cdap.cdap.common.service.Retries.callWithRetries(Retries.java:183) ~[na:na] 在 io.cdap.cdap.common.service.Retries.callWithInterruptibleRetries(Retries.java:257) ~[na:na] 在 io.cdap.cdap.internal.provision.task.ProvisioningTask.executeOnce(ProvisioningTask.java:123) ~[na:na] 在 io.cdap.cdap.internal.provision.ProvisioningService.lambda$null$16(ProvisioningService.java:559) [na:na] 在 io.cdap.cdap.internal.provision.ProvisioningService.callWithProgramLogging(ProvisioningService.java:772) [na:na] 在 io.cdap.cdap.internal.provision.ProvisioningService.lambda$null$17(ProvisioningService.java:557) [na:na] 在 io.cdap.cdap.common.async.KeyedExecutor$2.run(KeyedExecutor.java:98) ~[na:na] 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_212] 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_212] 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[na:1.8.0_212] 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[na:1.8.0_212] 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_212] 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_212] 在 java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_212] 2019-05-09 10:01:17,180 - 调试 [provisioning-service-7:i.c.c.i.p.t.ProvisioningTask@159] - 终止 程序运行的 PROVISION 任务 程序运行:default.testing_df.-SNAPSHOT.workflow.DataPipelineWorkflow.5ff986e9-7241-11e9-af46-56bbe5c7844b 由于异常。
我可以在 IAM 控制台中看到我的根 GCP 控制台用户以及服务帐户“mylab-bigquery@mylab-gcp.iam.gserviceaccount.com”。我已将 root 帐户和服务帐户分配为所有者,以及两个帐户中的以下其他角色。
BigQuery 管理员 计算实例管理员 (v1) 计算网络管理员 计算操作系统管理员登录 计算安全管理员 云数据融合管理员 云数据融合 API 服务代理 所有者
但是,在完成所有这些操作之后,我仍然收到相同的错误消息“‘projects/mylab-gcp’需要‘compute.firewalls.list’权限”
【问题讨论】:
标签: google-cloud-platform google-cloud-data-fusion