GCLOUD DataProc 作业提交 Spark 以根用户身份提交作业



我正在尝试使用"gcloud dataproc jobs submit spark"提交一个火花作业,我已经将 spark.master 设置为 yarn。当作业在 dataproc 集群上执行时,它是使用 root 用户执行的,有没有办法使用我在 gcloud 中身份验证的谷歌用户运行它或在命令中设置代理用户。

示例命令:-

gcloud dataproc jobs submit spark 
--cluster gov-demo --region europe-west4 
--class org.apache.spark.examples.WordCount 
--jars gs://governance-demo/spark-examples-1.0.jar 
-- gs://governance-demo/words1.txt 

预期:-

通过谷歌用户提交的工作/提供代理用户的某种方式

实际:-

作业通过根用户提交

.

我一直在研究 gcloud dataproc 命令,你有 2 个标志可以满足您的需求。

例如,您有:

--accountgcloud 全球标志。更多信息在这里。

用于调用的 Google Cloud Platform 用户帐户。重写 此命令调用的默认核心/帐户属性值。

--impersonate-service-account标志。

对于此 gcloud 调用,所有 API 请求都将作为给定的服务帐户而不是当前选定的帐户发出。无需为帐户创建、下载和激活密钥即可完成此操作。为了作为服务账户执行操作,您当前选择的账户必须具有包含服务账户的 iam.serviceAccounts.getAccessToken 权限的 IAM 角色。roles/iam.serviceAccountTokenCreator 角色具有此权限,或者您可以创建自定义角色。覆盖此命令调用的默认 auth/impersonate_service_account 属性值。

有关 --模拟服务帐户使用情况的详细信息,请参阅此处。

希望这有帮助。

最新更新