PROVISION任务在REQUESTING_CREATE状态下失败

时间:2019-05-09 12:09:40

标签: google-cloud-platform google-cloud-data-fusion

我是GCP平台的新手,正在尝试创建一个简单的数据融合工作流程,以从驻留在GCS存储桶中的文本文件加载BigQuery表。

工作流已成功部署。但是,在运行工作流程时,它在步骤2中失败,并显示一条错误语句

  

PROVISION任务以REQUESTING_CREATE状态失败,无法运行程序   program_run: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用于程序运行   program_run: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]-PROVISION   任务以REQUESTING_CREATE状态失败,无法运行程序   program_run:default.testing_df.-SNAPSHOT.workflow.DataPipelineWorkflow.5ff986e9-7241-11e9-af46-56bbe5c7844b。   com.google.api.client.googleapis.json.GoogleJsonResponseException:403   禁止{“代码”:403,“错误”:[{       “ domain”:“ global”,       “ message”:“'对'projects / mylab-gcp'具有'compute.firewalls.list'权限”,       “ reason”:“ forbidden”}],“ message”:“'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任务,用于程序运行   program_run:default.testing_df.-SNAPSHOT.workflow.DataPipelineWorkflow.5ff986e9-7241-11e9-af46-56bbe5c7844b   由于异常。

我可以在IAM控制台中看到我的根GCP控制台用户以及一个服务帐户“ mylab-bigquery@mylab-gcp.iam.gserviceaccount.com”。我已经将root帐户和service帐户都指定为Owner,并且在这两个帐户中都指定了以下其他角色。

BigQuery Admin 计算实例管理员(v1) 计算网络管理员 计算操作系统管理员登录 计算安全管理员 云数据融合管理员 云数据融合API服务代理 所有者

但是,在完成所有这些操作之后,我仍然收到相同的错误消息“'对'projects / mylab-gcp'具有'compute.firewalls.list'权限”

1 个答案:

答案 0 :(得分:3)

请查看创建实例的“设置权限”步骤:https://cloud.google.com/data-fusion/docs/how-to/create-instance#setting_up_permissions

这应该可以为您解决问题。 请注意,这涉及向您的IAM策略添加新的服务帐户。