Ошибка создания кластера Google Cloud Datapro c - нет доступа к сценарию инициализации прокси - PullRequest
1 голос
/ 16 января 2020

Я пытаюсь создать свой первый кластер Google Cloud Datapro c, используя следующую команду:

gcloud dataproc clusters create hive-cluster    \ 
    --scopes sql-admin  \   
    --image-version 1.3  \   
    --initialization-actions "gs://goog-dataproc-${PROJECT}:${REGION}:hive-metastore" \
    --master-machine-type n1-standard-1 \
    --master-boot-disk-size 15 \
    --num-workers 2 \
    --worker-machine-type n1-standard-1 \
    --worker-boot-disk-size 15 \
    --region us-east1 \
    --zone us-east1-b

Однако я получаю следующую ошибку:

    Dataproc could not validate the initialization action using the service-owned service accounts. Cluster creation may still succeed if the initialization action is accessible from GCE VMs.
    Reason: service-1456309104734317@dataproc-accounts.iam.gserviceaccount.com does not have storage.objects.get access to goog-dataproc-initialization-actions-us-east1/cloud-sql-proxy/cloud-sql-proxy.sh.
    Waiting for cluster creation operation...done.
    ERROR: (gcloud.dataproc.clusters.create) Operation [projects/traits-seater-824109/regions/us-east1/operations/5b36fb82-ade2-3d5f-a6bd-cb1a206bb54e] failed: Multiple Errors:
     - Error downloading script 'gs://goog-dataproc-initialization-actions-us-east1/cloud-sql-proxy/cloud-sql-proxy.sh': 1456309104734317-compute@developer.gserviceaccount.com does not have storage.objects.get access to goog-dataproc-initialization-actions-us-east1/cloud-sql-proxy/cloud-sql-proxy.sh.

Я проверил разрешения в IAM и роли хранилища-> Object Viewer для учетных записей служб, упомянутых в сообщении об ошибке выше, но я все еще получаю ту же ошибку. Любые предложения, как обойти эту ошибку?

Ответы [ 2 ]

2 голосов
/ 18 января 2020

По-видимому, существует временная проблема с настройками разрешений в региональных версиях действий инициализации Datapro c - долгосрочные эти региональные копии действительно то, что вы должны использовать для лучшей изоляции региональной надежности инициализации. действия, а также чтобы избежать межрегионального копирования действий инициализации, но в то же время вы можете вместо этого использовать общую «глобальную» копию действия инициализации:

gcloud dataproc clusters create hive-cluster    \ 
--initialization-actions gs://dataproc-initialization-actions/cloud-sql-proxy/cloud-sql-proxy.sh \
...
1 голос
/ 17 января 2020

Проблема может быть связана с scopes, который вы указали при создании кластера. Вы только ограничиваете свой кластер для доступа к sql-admin API (https://www.googleapis.com/auth/sqlservice.admin).

Возможно, вам потребуется добавить область storage-ro (или https://www.googleapis.com/auth/devstorage.read_only):

gcloud dataproc clusters create hive-cluster \ 
    --scopes sql-admin,storage-ro \
    [...]

Без области действия storage-ro, даже если корзина goog-dataproc-initialization-actions-us-east1 опубликована c, я думаю, что кластер Datapro c не сможет извлечь файл из ГКС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...