在dataproc上运行Spark-Job时请求不足的身份验证范围

时间:2017-04-12 13:43:27

标签: apache-spark google-cloud-platform google-cloud-dataproc

我正在尝试在google dataproc群集上运行spark作业

 gcloud dataproc jobs submit hadoop --cluster <cluster-name> \
--jar file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar \
--class org.apache.hadoop.examples.WordCount \
--arg1 \
--arg2 \

但是Job抛出错误

 (gcloud.dataproc.jobs.submit.spark) PERMISSION_DENIED: Request had insufficient authentication scopes.

如何添加auth范围以运行JOB?

2 个答案:

答案 0 :(得分:9)

通常,如果您因为使用VM-metadata controlled scopes从GCE VM内部运行gcloud而遇到此错误,因为否则gcloud通常会安装在本地计算机上已经在使用广泛的范围来包括所有GCP操作。

对于Dataproc访问,在创建从中运行gcloud的VM时,需要从CLI指定--scopes cloud-platform,或者如果从Cloud Console UI创建VM,则应选择&# 34;允许完全访问所有Cloud API&#34;:

Cloud Console Create VM UI - Identity and API access

正如上面提到的另一位评论者,现在您也可以update scopes on existing GCE instances添加CLOUD_PLATFORM范围。

答案 1 :(得分:0)

您需要在创建DataProc集群时选中允许API访问的选项。然后,只有您可以使用 gcloud dataproc作业提交将作业提交到群集 命令enter image description here