我正在尝试在dataproc主节点上使用gcloud运行pyspark应用程序。我得到“请求没有足够的身份验证范围”
# gcloud dataproc jobs submit pyspark --cluster xxxxx test.py
gcloud.dataproc.jobs.submit.pyspark) You do not have permission
to access cluster [xxxxxx] (or it may not exist):
Request had insufficient authentication scopes
我可以通过Jobs GUI运行相同的应用程序。我没有链接到doc rightow但它说如果这是在Compute VM上运行的,则不需要单独的凭证,这似乎与我使用GUI运行相同的应用程序时一致。有什么帮助吗?
答案 0 :(得分:0)
从Dataproc节点运行时,您将代表连接到VM的service account。通常,您将使用默认的计算引擎服务帐户,但也可以使用Dataproc service account configuration指定。除了服务帐户外,还有一个scopes
列表,该列表限制允许该服务帐户从该VM访问的GCP服务。默认情况下,有BigQuery,GCS,日志记录和其他一些小范围,但不是创建其他VM或Dataproc集群的常规管理范围。
要授予必要的范围,您必须在首次创建群集时添加--scopes
:
gcloud dataproc clusters create --scopes cloud-platform ...