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

标签 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 \

但工作抛出错误
 (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”:

Cloud Console Create VM UI - Identity and API access

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

关于apache-spark - 在 dataproc 上运行 Spark-Job 时请求的身份验证范围不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43371335/

相关文章:

google-cloud-platform - GCP Vertex AI "Enable necessary APIs"已启用

hadoop - 使用Cloud Shell连接到HDFS的问题

java - 在 Google Dataproc Spark 中链接原生 .so

scala - org.apache.spark.sql.AnalysisException:无法解析给定的输入列

scala - 通过Spark Job Server运行作业

java - AWS EMR 5.20 和 Java 版本支持

oauth-2.0 - 使用 Apigee 作为 Auth0 的身份验证存储替代方案

python - 通过命令行将 GCP 凭据添加到 Airflow

scala - 使用 apache spark 和 scala 进行数据预处理

google-cloud-platform - 了解 GCP Dataproc 计费及其如何受标签影响