Google Cloud dataproc无法使用--scopes = cloud-platform从cloudsql访问hive metastore

问题描述 投票:0回答:1

我已经创建了2个数据处理集群。要求是使用1个配置单元存储,并且两个集群都可以访问。第一个是具有--scopes = sql-admin的ETL集群,第二个是ML用户--scopes = cloud-platform的ETL集群。使用ETL集群创建的数据库和表不能被ML集群访问。如果必须在每个群集中添加--scopes = sql-admin,可以提供任何帮助。

ETL群集创建命令:

 gcloud dataproc clusters create amlgcbuatbi-report \
>     --project=${PROJECT} \
>     --master-machine-type n1-standard-1 --worker-machine-type n1-standard-1 --master-boot-disk-size 50 --worker-boot-disk-size 50 \
>     --zone=${ZONE} \
>     --num-workers=${WORKERS} \
>     --scopes=sql-admin \
>     --image-version=1.3 \
>     --initialization-actions=gs://dataproc-initialization-actions/cloud-sql-proxy/cloud-sql-proxy.sh \
>     --properties=hive:hive.metastore.warehouse.dir=gs://gftat/data \
>     --metadata="hive-metastore-instance=$PROJECT:$REGION:metaore-dev001"

输出:

0: jdbc:hive2://localhost:10000/default> show databases;
+------------------+
|  database_name   |
+------------------+
| default          |
| gcb_dw           |
| l1_gcb_trxn_raw  |
+------------------+

ML群集创建命令:

gcloud dataproc clusters create amlgcbuatbi-ml \
    >     --project=${PROJECT} \
    >     --master-machine-type n1-standard-1 --worker-machine-type n1-standard-1 --master-boot-disk-size 50 --worker-boot-disk-size 50 \
    >     --zone=${ZONE} \
    >     --num-workers=${WORKERS} \
    >     --scopes=cloud-platform \
    >     --image-version=1.3 \
    >     --optional-components=PRESTO \
    >     --initialization-actions=gs://dataproc-initialization-actions/cloud-sql-proxy/cloud-sql-proxy.sh \
    >     --initialization-actions=gs://dataproc-initialization-actions/presto/presto.sh \
    >     --metadata="hive-metastore-instance=$PROJECT:$REGION:metaore-dev001"

输出:在这里我看不到数据库和表。

0: jdbc:hive2://localhost:10000/default> show databases;
+----------------+
| database_name  |
+----------------+
| default        |
+----------------+
google-cloud-platform gcloud google-cloud-dataproc
1个回答
0
投票

--initialization-actions标志需要用逗号分隔的列表,而不是重复该标志以将多个初始化操作附加到列表。尝试

--initialization-actions=gs://dataproc-initialization-actions/cloud-sql-proxy/cloud-sql-proxy.sh,gs://dataproc-initialization-actions/presto/presto.sh

而不是两个单独的--initialization-actions标志。

© www.soinside.com 2019 - 2024. All rights reserved.