2017-03-17 107 views
1

我试图在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现在,但它表示,如果这已在Compute VM上运行,不需要单独的凭据,这似乎与我使用GUI运行相同的应用程序时一致。任何帮助?

回答

0

从Dataproc节点运行时,您将代表连接到VM的service account。通常,您将使用默认的计算引擎服务帐户,但也可以使用Dataproc service account configuration指定。除了服务帐户外,还有一个scopes的列表,该列表限制哪个服务帐户允许从该VM访问的GCP服务。默认情况下,存在BigQuery,GCS,日志记录和其他一些小范围,但不是创建其他VM或Dataproc群集等的一般管理范围。

要授予必要的范围内,你必须添加--scopes首先创建群集时:

gcloud dataproc clusters create --scopes cloud-platform ...