Настройка автоматического размещения зоны в рабочем потоке данных - PullRequest
3 голосов
/ 06 мая 2019

Я пытаюсь настроить автоматическое размещение зоны в шаблоне рабочего процесса Dataproc

Я пытаюсь настроить автоматическое размещение зоны в шаблоне рабочего процесса Dataproc аналогично тому, как это делается при создании кластера без рабочего процесса шаблона

Google Cloud SDK 244.0.0 Начните с образа докера:

docker run -ti google/cloud-sdk:slim bash 

Зарегистрируйтесь в облаке Google с учетной записью сервиса

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

Ответы [ 3 ]

1 голос
/ 06 мая 2019

В документации сказано:

... Чтобы создать кластер Cloud Dataproc, который использует автоматическое размещение зоны, используйте команду создания кластеров gcloud dataproc. Установите флаг --region для неглобальной области и пропустите флаг --zone (или оставьте флаг пустым: --zone = или zone = "").

Примечание. Если вы запустили команду gcloud config set compute / zone, чтобы установить зону по умолчанию, вы должны указать флаг --zone = или zone = "" для кластеров gcloud dataproc, которые создаются для включения функции автоматической зоны. Пользователи Power Shell должны заключать пустые кавычки в одинарные кавычки: --zone = '""'. ... "

, но он не работает с рабочим процессом шаблона. Если я установлю регион и опущу зону, то попрошу зону позже. Если я устанавливаю зону и добавляю --zone = "" или --zone =, все равно спрашиваю зону.

1 голос
/ 07 мая 2019

Тем временем вы можете заставить его работать, добавив флаг --quiet к команде set-managed-cluster. Это пропустит запрос выбора зоны, и кластеры будут создаваться в разных зонах (внутри региона) каждый раз.

Например:

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
1 голос
/ 06 мая 2019

Можете ли вы попробовать --zone=""?Согласно doc :

Если вы запустили команду gcloud config set compute / zone, чтобы установить зону по умолчанию, вы должны указать --zone = или zone = ""флаг для создания кластеров gcloud dataproc, чтобы включить функцию автоматической зоны.

РЕДАКТИРОВАТЬ: Я воспроизвел проблему, похоже на ошибку шаблона рабочего процесса, он не поддерживает --zone="".

...