我正在尝试在 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 \
但工作抛出错误
(gcloud.dataproc.jobs.submit.spark) PERMISSION_DENIED: Request had insufficient authentication scopes.
如何添加身份验证范围以运行 JOB?
最佳答案
通常,如果您遇到此错误,那是因为从使用 VM-metadata controlled scopes 的 GCE 虚拟机内部运行 gcloud ,因为否则安装在本地机器上的 gcloud 通常已经使用广泛的范围来包括所有 GCP 操作。
对于 Dataproc 访问,在创建运行 gcloud 的虚拟机时,您需要指定 --scopes cloud-platform
从 CLI,或者如果从 Cloud Console UI 创建 VM,您应该选择“允许完全访问所有 Cloud API”:
正如上面提到的另一位评论者,现在你也可以 update scopes on existing GCE instances添加 CLOUD_PLATFORM 范围。
关于apache-spark - 在 dataproc 上运行 Spark-Job 时请求的身份验证范围不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43371335/