我对这份文档enter link description here感到困惑
Service account requirements and Limitations:
* Service accounts can only be set when a cluster is created.
* You need to create a service account before creating the Cloud Dataproc cluster that will be associated with the service account.
* Once set, the service account used for a cluster cannot be changed.
这意味着我无法创建服务帐户,该帐户具有创建dataproc集群的作用? 对于Now,我只能通过自己的帐户“ gcloud auth login”创建一个dataproc集群 但是我想通过设置从詹金斯创建dataproc集群
gcloud auth activate-service-account --key-file
答案 0 :(得分:1)
是的,您可以使用服务帐户来创建Dataproc集群并提交作业。但是,您引用的链接使用的服务帐户不适用于您正在运行的Dataproc集群。
要使用服务帐户创建Dataproc,请执行以下操作:
创建服务帐户
分配Cloud Dataproc编辑器角色
下载其json凭证文件
配置身份验证机制:
4.1 gcloud auth激活服务帐户--key-file = JSON_FILE_PATH
4.2 GOOGLE_APPLICATION_CREDENTIALS = JSON_FILE_PATH
创建您的Dataproc集群
答案 1 :(得分:0)
首先您需要创建一个服务帐户,并且还需要提供对以下角色的访问权限:
要使用用户指定的服务帐户创建集群, 指定的服务帐户必须具有由 Dataproc Worker 角色。
2.Dataproc Hub 代理:这将提供对 act as service account
权限的访问,否则提供以下错误:
错误:(gcloud.beta.dataproc.clusters.create) INVALID_ARGUMENT:用户 无权充当服务帐户 'service-account@project-id.iam.gserviceaccount.com'。行动 作为服务帐户,用户必须拥有 [Owner, Editor, Service 帐户演员] 角色。看 https://cloud.google.com/iam/docs/understanding-service-accounts 为 其他详细信息。
3.Dataproc Editor:此角色将提供创建和删除 dataproc 集群的权限。
激活服务帐户:提供对角色的访问权限后,下载服务帐户 json。通过 gcloud auth active-service-account --key-file=<service-json>
激活新的服务帐户。通过 gcloud auth list
检查激活。通过 GOOGLE_APPLICATION_CREDENTIALS
export GOOGLE_APPLICATION_CREDENTIALS="service-json-full-path"
环境变量
现在希望一切准备就绪,可以使用服务帐户创建 dataproc 集群。以下是使用服务帐户创建 dataproc 集群的示例命令:
gcloud auth activate-service-account --key-file=<service-key-file>
export GOOGLE_APPLICATION_CREDENTIALS="<service-key-file>"
gcloud beta dataproc clusters create <CLUSTER-NAME> \
--region=<REGION> \
--project=<PROJECT-ID> \
--service-account=<SERVICE-ACCOUNT-EMAIL> \
--single-node