我正在尝试在Dataproc工作流模板中设置自动区域放置
我试图在Dataproc工作流模板中设置自动区域放置,就像在create a cluster没有模板工作流的情况下进行设置一样
Google Cloud SDK 244.0.0 从Docker映像开始:
docker run -ti google/cloud-sdk:slim bash
使用服务帐户在Google Cloud中注册
gcloud auth activate-service-account --key-file=$GOOGLE_SDK_CREDENTIALS
gcloud config set project $PROJECT
gcloud compute project-info add-metadata \
--metadata google-compute-default-region=$REGION
创建模板
gcloud dataproc workflow-templates create $TEMPLATE_NAME --project=$PROJECT --region=$REGION
gcloud dataproc workflow-templates set-managed-cluster $TEMPLATE_NAME \
--cluster-name $CLUSTER_NAME \
--project=$PROJECT \
--region=$REGION
不是自动选择一个区域,而是要求我选择一个区域:
For the following cluster:
- [mycluster]
choose a zone:
[1] asia-east1-a
[2] asia-east1-b
[3] asia-east1-c
[4] asia-east2-a
[5] asia-east2-b
[6] asia-east2-c
[7] asia-northeast1-a
...
[48] us-central1-c
[49] us-central1-f
[50] us-east1-b
Did not print [11] options.
Too many options [61]. Enter "list" at prompt to print choices fully.
Please enter your numeric choice:
还有另一种使用dataproc模板工作流程使用自动区域的方法
答案 0 :(得分:1)
您可以尝试--zone=""
吗?根据{{3}}:
如果您运行了gcloud config set compute / zone命令来设置默认区域,则必须为gcloud dataproc集群创建--zone =或zone =“”标志,以启用自动区域功能。
>
编辑:我转载了这个问题,它看起来像是工作流程模板的错误,它不支持--zone=""
。
答案 1 :(得分:1)
在文档中说:
...要创建使用自动区域放置的Cloud Dataproc集群,请使用gcloud dataproc clusters create命令。将--region标志设置为非全局区域,并省略--zone标志(或将标志保留为空:--zone =或zone =“”)。
注意:如果您运行了gcloud config set configure / zone命令来设置默认区域,则必须为创建的gcloud dataproc集群提供--zone =或zone =“”标志,以启用自动区域功能。 Power Shell用户必须用单引号将空引号引起来:--zone ='“”'。 ...”
,但不适用于模板工作流程。 如果我设置了区域并省略了区域,请稍后再询问区域。 如果我设置了区域并添加--zone =“”或--zone =,则仍要询问该区域。
答案 2 :(得分:1)
同时,您可以通过在set-managed-cluster
命令中添加--quiet
标志来使其工作。这将跳过区域选择提示,并且每次将在不同区域(在区域内)创建群集。
例如:
gcloud dataproc workflow-templates set-managed-cluster $TEMPLATE_NAME \
--cluster-name $CLUSTER_NAME \
--project=$PROJECT \
--region=$REGION \
--zone="" \
--master-machine-type $MACHINE_TYPE \
--worker-machine-type $MACHINE_TYPE \
--num-workers $NUM_WORKERS \
--quiet