Dataproc이 클러스터를 만들 수 없습니다. 'hadoop-lib'에 대한 Storage.objects.list 권한이 없습니다.

Dataproc이 클러스터를 만들 수 없습니다. 'hadoop-lib'에 대한 Storage.objects.list 권한이 없습니다.

어떤 이유로 Dataproc Spark 클러스터를 만들 수 없습니다. 난 달린다:

gcloud dataproc \
    --region us-west1 clusters create my-test1 \
    --project some_project \
    --scopes 'https://www.googleapis.com/auth/cloud-platform' \
    --bucket my-bucket \
    --zone us-west1-b \
    --single-node \
    --master-machine-type n1-highmem-16 \
    --master-boot-disk-size 500 \
    --image-version 1.3 \
    --initialization-actions \
'gs://dataproc-initialization-actions/connectors/connectors.sh',\
'gs://dataproc-initialization-actions/zeppelin/zeppelin.sh'\
    --metadata 'gcs-connector-version=1.9.4'

하지만 얻을

+ VM_CONNECTORS_DIR=/usr/lib/hadoop/lib
+ declare -A MIN_CONNECTOR_VERSIONS
+ MIN_CONNECTOR_VERSIONS=(["bigquery"]="0.11.0" ["gcs"]="1.7.0")
++ /usr/share/google/get_metadata_value attributes/bigquery-connector-version
++ true
+ BIGQUERY_CONNECTOR_VERSION=
++ /usr/share/google/get_metadata_value attributes/gcs-connector-version
+ GCS_CONNECTOR_VERSION=1.9.4
+ [[ -z '' ]]
+ [[ -z 1.9.4 ]]
+ [[ -z '' ]]
+ [[ 1.9.4 = \1\.\7\.\0 ]]
+ [[ '' = \0\.\1\1\.\0 ]]
+ update_connector bigquery ''
+ local name=bigquery
+ local version=
+ [[ -n '' ]]
+ update_connector gcs 1.9.4
+ local name=gcs
+ local version=1.9.4
+ [[ -n 1.9.4 ]]
+ validate_version gcs 1.9.4
+ local name=gcs
+ local version=1.9.4
+ local min_valid_version=1.7.0
++ min_version 1.7.0 1.9.4
++ echo -e '1.7.0\n1.9.4'
++ sort -r -t. -n -k1,1 -k2,2 -k3,3
++ tail -n1
+ [[ 1.7.0 != \1\.\7\.\0 ]]
+ rm -f /usr/lib/hadoop/lib/gcs-connector-1.9.0-hadoop2.jar
++ gsutil ls 'gs://hadoop-lib/gcs/gcs-connector-*1.9.4*.jar'
++ grep hadoop2
AccessDeniedException: 403 7**********[email protected] does not have storage.objects.list access to hadoop-lib.
+ local path=
++ echo ''
++ wc -w
+ local path_count=0
+ [[ 0 != 1 ]]
+ echo -e 'ERROR: Only one gcs connector path should be listed for 1.9.4 version, but listed 0 paths:\n'
ERROR: Only one gcs connector path should be listed for 1.9.4 version, but listed 0 paths:

서비스 사용자에게 "편집자"와 함께 "Storage Object Viewer" 역할이 할당되어 있는지 확인했습니다.

Google Cloud Dataproc에서 GCS 커넥터를 사용하여 Spark 클러스터를 만드는 방법을 알고 있나요?

답변1

여기서 문제는 이 버킷 gs://hadoop-lib이 공개 버킷이 아니기 때문에 액세스할 수 없다는 것입니다. 이 스크립트를 있는 그대로 사용할 수 없거나 적어도 문서에 지정되어 있지 않다는 점은 유감입니다.

스크립트를 업데이트하고 액세스 권한이 있는 버킷을 사용하여 초기화 스크립트에서 커넥터를 저장한 다음 검색하여 이 문제를 해결했습니다.

관련 정보