Создание кластера Data Proc
Для создания кластера Data Proc пользователю должны быть назначены роли editor
и dataproc.agent
. Подробнее см. в описании ролей.
Настройте сеть
В подсети, к которой будет подключен подкластер с управляющим хостом, настройте NAT-шлюз. Это необходимо, чтобы подкластер мог взаимодействовать c сервисами Yandex Cloud или хостами в других сетях.
Настройте группы безопасности
Важно
Группы безопасности необходимо создать и настроить перед созданием кластера. Если в выбранных группах безопасности не будет необходимых правил, Yandex Cloud заблокирует создание кластера.
-
Создайте одну или несколько групп безопасности для служебного трафика кластера.
-
-
По одному правилу для входящего и исходящего служебного трафика:
- Диапазон портов —
0-65535
. - Протокол —
Любой
(Any
). - Источник —
Группа безопасности
. - Группа безопасности —
Текущая
(Self
).
- Диапазон портов —
-
Отдельное правило для исходящего HTTPS-трафика. Это позволит использовать бакеты Yandex Object Storage, UI Proxy и автоматическое масштабирование кластеров.
Вы можете настроить это правило одним из двух способов:
На все адресаНа адреса, используемые Yandex Cloud- Диапазон портов —
443
. - Протокол —
TCP
. - Назначение —
CIDR
. - CIDR блоки —
0.0.0.0/0
.
- Диапазон портов —
443
. - Протокол —
TCP
. - Назначение —
CIDR
. - CIDR блоки:
84.201.181.26/32
— получение статуса кластера, запуск заданий, UI Proxy.213.180.193.8/32
— мониторинг состояния кластера, автомасштабирование.213.180.193.243/32
— доступ к Object Storage.
- Диапазон портов —
-
Если планируется использовать несколько групп безопасности для кластера, разрешите весь трафик между этими группами.
Примечание
Вы можете задать более детальные правила для групп безопасности, например, разрешающие трафик только в определенных подсетях.
Группы безопасности должны быть корректно настроены для всех подсетей, в которых будут размещены хосты кластера.
Настройку групп безопасности для подключения к хостам кластера через промежуточную ВМ можно выполнить после создания кластера.
Создайте кластер
Кластер должен состоять из подкластера с управляющим хостом и как минимум из одного подкластера для хранения или обработки данных.
-
В консоли управления выберите каталог, в котором нужно создать кластер.
-
Нажмите кнопку Создать ресурс и выберите
Кластер Data Proc в выпадающем списке. -
Введите имя кластера в поле Имя кластера. Требования к имени:
- Должно быть уникальным в рамках каталога
- Длина — от 3 до 63 символов.
- Может содержать строчные буквы латинского алфавита, цифры и дефисы.
- Первый символ — буква. Последний символ — не дефис.
-
Выберите подходящую версию образа и сервисы, которые вы хотите использовать в кластере.
Используя образ версии
2.0.39
или выше, вы можете создать легковесный кластер без HDFS и подкластеров для хранения данных. При этом обязательно добавьте один или несколько подкластеров для обработки данных и укажите имя бакета.Совет
Чтобы использовать самую свежую версию образа, укажите значение
2.0
. -
Вставьте в поле SSH-ключ публичную часть вашего SSH-ключа. Как сгенерировать и использовать SSH-ключи, читайте в документации Yandex Compute Cloud.
-
Выберите или создайте сервисный аккаунт, которому нужно разрешить доступ к кластеру.
-
Выберите зону доступности для кластера.
-
При необходимости задайте свойства компонентов кластера, заданий и среды окружения.
-
При необходимости укажите пользовательские скрипты инициализации хостов кластера. Для каждого скрипта укажите:
-
URI — ссылка на скрипт инициализации в схеме
https://
,http://
,hdfs://
илиs3a://
. -
(Опционально) Таймаут — таймаут (в секундах) выполнения скрипта. Скрипт инициализации, выполняющийся дольше указанного времени, будет прерван.
-
(Опционально) Аргументы — заключенные в квадратные скобки
[]
и разделенные запятыми аргументы, с которыми должен быть выполнен скрипт инициализации, например:["arg1","arg2",...,"argN"]
-
-
Выберите имя бакета в Yandex Object Storage, в котором будут храниться зависимости заданий и результаты их выполнения.
-
Выберите сеть для кластера.
-
Выберите группы безопасности, в которых имеются необходимые разрешения.
Важно
При создании кластера проверяются настройки групп безопасности. Если функционирование кластера с этими настройками невозможно, то будет выведено предупреждение. Пример работающих настроек приведен выше.
-
Включите опцию UI Proxy, чтобы получить доступ к веб-интерфейсам компонентов Data Proc.
-
Логи кластера сохраняются в сервисе Yandex Cloud Logging. Выберите нужную лог-группу из списка или создайте новую.
Для работы этой функции назначьте сервисному аккаунту кластера роль
logging.writer
. Подробнее см. в документации Yandex Cloud Logging. -
Настройте подкластеры: не больше одного подкластера с управляющим хостом (обозначается как Мастер), и подкластеры для хранения или обработки данных.
Роли подкластеров для хранения и обработки данных различаются тем, что на подкластерах для хранения данных можно разворачивать компоненты для хранения, а для обработки — компоненты для вычислений. Хранилище на подкластере для обработки данных предназначено только для временного хранения обрабатываемых файлов.
-
Для каждого подкластера можно настроить:
- Количество хостов.
- Класс хостов — платформа и вычислительные ресурсы, доступные хосту.
- Размер и тип хранилища.
- Подсеть сети, в которой расположен кластер.
В подсети для подкластера с управляющим хостом нужно настроить NAT-шлюз. Подробнее см. в разделе Настройте сеть.
- Для доступа к хостам подкластера из интернета выберите опцию Публичный доступ. В этом случае подключаться к хостам подкластера можно только с использованием SSL-соединения. Подробнее см. в разделе Подключение к кластеру Data Proc.
Важно
После создания кластера невозможно запросить или отключить публичный доступ к подкластеру. Однако подкластер для обработки данных можно удалить и создать заново с нужной настройкой публичного доступа.
-
В подкластерах для обработки данных можно задать параметры автоматического масштабирования.
Примечание
Для работы автоматического масштабирования необходимо выдать следующие роли сервисному аккаунту кластера:
editor
;dataproc.agent
.
- В блоке Добавить подкластер нажмите кнопку Добавить.
- В поле Роли выберите
COMPUTENODE
. - В блоке Масштабирование включите настройку Автоматическое масштабирование.
- Задайте параметры автоматического масштабирования.
- По умолчанию в качестве метрики для автоматического масштабирования используется
yarn.cluster.containersPending
. Чтобы включить масштабирование на основе загрузки CPU, выключите настройку Масштабирование по умолчанию и укажите целевой уровень загрузки CPU. - Нажмите кнопку Добавить.
-
При необходимости задайте дополнительные настройки кластера:
Защита от удаления — управляет защитой кластера от непреднамеренного удаления пользователем.
Включенная защита не помешает подключиться к кластеру вручную и удалить данные.
-
Нажмите кнопку Создать кластер.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы создать кластер:
-
Проверьте, есть ли в каталоге подсети для хостов кластера:
yc vpc subnet list
Если ни одной подсети в каталоге нет, создайте нужные подсети в сервисе Yandex Virtual Private Cloud.
-
Посмотрите описание команды CLI для создания кластера:
yc dataproc cluster create --help
-
Укажите параметры кластера в команде создания (в примере приведены не все доступные параметры):
yc dataproc cluster create <имя кластера> \ --bucket=<имя бакета> \ --zone=<зона доступности> \ --service-account-name=<имя сервисного аккаунта кластера> \ --version=<версия образа> \ --services=<список компонентов> \ --ssh-public-keys-file=<полный путь к файлу с публичной частью SSH-ключа> \ --subcluster name=<имя подкластера с управляющим хостом>,` `role=masternode,` `resource-preset=<класс хоста>,` `disk-type=<тип хранилища: network-ssd, network-hdd или network-ssd-nonreplicated>,` `disk-size=<размер хранилища в гигабайтах>,` `subnet-name=<имя подсети>,` `assign-public-ip=<публичный доступ к хосту подкластера: true или false> \ --subcluster name=<имя подкластера для хранения данных>,` `role=datanode,` `resource-preset=<класс хоста>,` `disk-type=<тип хранилища: network-ssd, network-hdd или network-ssd-nonreplicated>,` `disk-size=<размер хранилища в гигабайтах>,` `subnet-name=<имя подсети>,` `hosts-count=<количество хостов>,` `assign-public-ip=<публичный доступ к хостам подкластера: true или false> \ --deletion-protection=<защита от удаления кластера: true или false> \ --ui-proxy=<доступ к веб-интерфейсам компонентов: true или false> \ --security-group-ids=<список идентификаторов групп безопасности> \ --log-group-id=<идентификатор лог-группы>
Примечание
Имя кластера должно быть уникальным в рамках каталога. Может содержать латинские буквы, цифры, дефис и нижнее подчеркивание. Максимальная длина имени 63 символа.
Где:
-
--bucket
— имя бакета в Yandex Object Storage, в котором будут храниться зависимости заданий и результаты их выполнения. Сервисный аккаунт кластера должен иметь разрешениеREAD и WRITE
для этого бакета. -
--zone
— зона доступности, в которой должны быть размещены хосты кластера. -
--service-account-name
— имя сервисного аккаунта кластера. Сервисному аккаунту кластера должна быть назначена рольmdb.dataproc.agent
. -
--version
— версия образа.Используя образ версии
2.0.39
или выше, вы можете создать легковесный кластер без HDFS и подкластеров для хранения данных. При этом обязательно добавьте один или несколько подкластеров для обработки данных и укажите имя бакета.Совет
Чтобы использовать самую свежую версию образа, укажите значение
2.0
в параметре--version
. -
--services
— список компонентов, которые вы хотите использовать в кластере. Если не указать этот параметр, будет использоваться набор по умолчанию:hdfs
,yarn
,mapreduce
,tez
,spark
. -
--ssh-public-keys-file
— полный путь к файлу с публичной частью SSH-ключа, который будет использоваться для доступа к хостам кластера. Как создать и использовать SSH-ключи, читайте в документации Yandex Compute Cloud. -
--subcluster
— параметры подкластеров:-
name
— имя подкластера. -
role
— роль подкластера:masternode
,datanode
илиcomputenode
. -
resource-preset
— класс хостов. -
disk-type
— тип хранилища. -
disk-size
— размер хранилища в гигабайтах. -
subnet-name
— имя подсети. -
hosts-count
— количество хостов подкластеров для хранения или обработки данных. Минимальное значение —1
, максимальное —32
. -
assign-public-ip
— доступ к хостам подкластера из интернета. В этом случае подключаться к кластеру можно только с использованием SSL-соединения. Подробнее см. в разделе Подключение к кластеру Data Proc.Важно
После создания кластера невозможно запросить или отключить публичный доступ к подкластеру. Однако подкластер для обработки данных можно удалить и создать заново с нужной настройкой публичного доступа.
-
-
--deletion-protection
— защита от удаления кластера.Включенная защита от удаления кластера не помешает подключиться к нему вручную и удалить данные.
-
--ui-proxy
— доступ к веб-интерфейсам компонентов Data Proc. -
--security-group-ids
— список идентификаторов групп безопасности.
*--log-group-id
— идентификатор лог-группы.
Чтобы создать кластер, состоящих из нескольких подкластеров для хранения или обработки данных, передайте необходимое количество аргументов
--subcluster
в команде создания кластера:yc dataproc cluster create <имя кластера> \ ... --subcluster <параметры подкластера> \ --subcluster <параметры подкластера> \ ...
-
Чтобы включить автоматическое масштабирование в подкластерах для обработки данных, задайте параметры:
yc dataproc cluster create <имя кластера> \ ... --subcluster name=<имя подкластера>,` `role=computenode` `...` `hosts-count=<минимальное количество хостов>` `max-hosts-count=<максимальное количество хостов>,` `preemptible=<использование прерываемых ВМ: true или false>,` `warmup-duration=<время на разогрев ВМ>,` `stabilization-duration=<период стабилизации>,` `measurement-duration=<промежуток измерения нагрузки>,` `cpu-utilization-target=<целевой уровень загрузки CPU, %>,` `autoscaling-decommission-timeout=<таймаут декомиссии, сек.>
Где:
hosts-count
— минимальное количество хостов (виртуальных машин) в подкластере. Минимальное значение —1
, максимальное —32
.max-hosts-count
— максимальное количество хостов (виртуальных машин) в подкластере. Минимальное значение —1
, максимальное —100
.preemptible
— использование прерываемых ВМ.warmup-duration
— время в секундах на разогрев ВМ, в формате<значение>s
. Минимальное значение —0s
, максимальное —600s
(10 минут).stabilization-duration
— период в секундах, в течение которого требуемое количество ВМ не может быть снижено, в формате<значение>s
. Минимальное значение —60s
(1 минута), максимальное —1800s
(30 минут).measurement-duration
— период в секундах, за который замеры нагрузки усредняются для каждой ВМ, в формате<значение>s
. Минимальное значение —60s
(1 минута), максимальное —600s
(10 минут).cpu-utilization-target
— целевой уровень загрузки CPU, в процентах. Используйте эту настройку, чтобы включить масштабирование на основе загрузки CPU, иначе в качестве метрики будет использоватьсяyarn.cluster.containersPending
(на основе количества ожидающих задания ресурсов). Минимальное значение —10
, максимальное —100
.autoscaling-decommission-timeout
— таймаут декомиссии в секундах. Минимальное значение —0
, максимальное —86400
(сутки).
Примечание
Для работы автоматического масштабирования необходимо выдать следующие роли сервисному аккаунту кластера:
editor
;dataproc.agent
.
-
-
Чтобы создать кластер, размещенный на группах выделенных хостов, укажите через запятую их идентификаторы в параметре
--host-group-ids
:yc dataproc cluster create <имя кластера> \ ... --host-group-ids=<идентификаторы групп выделенных хостов>
Внимание
Эту настройку нельзя изменить после создания кластера. Использование выделенных хостов существенно влияет на тарификацию кластера.
-
Чтобы настроить хосты кластера с помощью скриптов инициализации, укажите их в одном или нескольких параметрах
--initialization-action
:yc dataproc cluster create <имя кластера> \ ... --initialization-action uri=<URI скрипта инициализации>,` `timeout=<таймаут выполнения скрипта>,` `args=["arg1","arg2","arg3",...]
Где:
uri
— ссылка на скрипт инициализации в схемеhttps://
,http://
,hdfs://
илиs3a://
.- (Опционально)
timeout
— таймаут (в секундах) выполнения скрипта. Скрипт инициализации, выполняющийся дольше указанного времени, будет прерван. - (Опционально)
args
— разделенные запятыми аргументы, с которыми должен быть выполнен скрипт инициализации.
Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). Terraform и его провайдеры распространяются под лицензией Mozilla Public License.
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.
При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.
Чтобы создать кластер:
-
В командной строке перейдите в каталог, в котором будут расположены конфигурационные файлы Terraform с планом инфраструктуры. Если такой директории нет — создайте ее.
-
Если у вас еще нет Terraform, установите его и создайте конфигурационный файл с настройками провайдера.
-
Создайте конфигурационный файл с описанием облачной сети и подсетей.
Кластер размещается в облачной сети. Если подходящая сеть у вас уже есть, описывать ее повторно не нужно.
Хосты кластера размещаются в подсетях выбранной облачной сети. Если подходящие подсети у вас уже есть, описывать их повторно не нужно.
Пример структуры конфигурационного файла, в котором описывается облачная сеть с одной подсетью:
resource "yandex_vpc_network" "<имя сети в Terraform>" { name = "<имя сети>" } resource "yandex_vpc_subnet" "<имя подсети в Terraform>" { name = "<имя подсети>" zone = "<зона доступности>" network_id = yandex_vpc_network.<имя сети в Terraform>.id v4_cidr_blocks = ["<подсеть>"] }
-
Создайте конфигурационный файл с описанием сервисного аккаунта, которому нужно разрешить доступ к кластеру, а также статического ключа и бакета Yandex Object Storage для хранения заданий и результатов.
resource "yandex_iam_service_account" "<имя сервисного аккаунта в Terraform>" { name = "<имя сервисного аккаунта>" description = "<описание сервисного аккаунта>" } resource "yandex_resourcemanager_folder_iam_binding" "dataproc" { folder_id = "<идентификатор каталога>" role = "mdb.dataproc.agent" members = [ "serviceAccount:${yandex_iam_service_account.<имя сервисного аккаунта в Terraform>.id}" ] } resource "yandex_resourcemanager_folder_iam_binding" "bucket-creator" { folder_id = "<идентификатор каталога>" role = "editor" members = [ "serviceAccount:${yandex_iam_service_account.<имя сервисного аккаунта в Terraform>.id}" ] } resource "yandex_iam_service_account_static_access_key" "<имя статического ключа в Terraform>" { service_account_id = yandex_iam_service_account.<имя сервисного аккаунта в Terraform>.id } resource "yandex_storage_bucket" "<имя бакета в Terraform>" { depends_on = [ yandex_resourcemanager_folder_iam_binding.bucket-creator ] bucket = "<имя бакета>" access_key = yandex_iam_service_account_static_access_key.<имя статического ключа в Terraform>.access_key secret_key = yandex_iam_service_account_static_access_key.<имя статического ключа в Terraform>.secret_key }
-
Создайте конфигурационный файл с описанием кластера и его подкластеров.
При необходимости здесь же можно задать свойства компонентов кластера, заданий и среды окружения.
Пример структуры конфигурационного файла, в котором описывается кластер из одного подкластера с управляющим хостом, одного подкластера для хранения данных и одного подкластера для обработки данных:
resource "yandex_dataproc_cluster" "<имя кластера в Terraform>" { bucket = "<имя бакета в Terraform>" name = "<имя кластера>" description = "<описание кластера>" service_account_id = "<идентификатор сервисного аккаунта в Terraform>" zone_id = "<зона доступности>" security_group_ids = ["<список идентификаторов групп безопасности>"] deletion_protection = <защита от удаления кластера: true или false> cluster_config { version_id = "<версия образа>" hadoop { services = ["<список компонентов>"] # пример списка: ["HDFS", "YARN", "SPARK", "TEZ", "MAPREDUCE", "HIVE"] properties = { "<свойство компонента>" = <значение> ... } ssh_public_keys = [ file("${file("<путь к файлу публичной части SSH-ключа>")}") ] } subcluster_spec { name = "<имя подкластера с управляющим хостом>" role = "MASTERNODE" resources { resource_preset_id = "<класс хоста>" disk_type_id = "<тип хранилища>" disk_size = <объем хранилища, ГБ> } subnet_id = "<идентификатор подсети в Terraform>" hosts_count = 1 } subcluster_spec { name = "<имя подкластера для хранения данных>" role = "DATANODE" resources { resource_preset_id = "<класс хоста>" disk_type_id = "<тип хранилища>" disk_size = <объем хранилища, ГБ> } subnet_id = "<идентификатор подсети в Terraform>" hosts_count = <число хостов в подкластере> } subcluster_spec { name = "<имя подкластера для обработки данных>" role = "COMPUTENODE" resources { resource_preset_id = "<класс хоста>" disk_type_id = "<тип хранилища>" disk_size = <объем хранилища, ГБ> } subnet_id = "<идентификатор подсети в Terraform>" hosts_count = <число хостов в подкластере> } } }
Включенная защита от удаления кластера не помешает подключиться вручную и удалить содержимое базы данных.
Используя образ версии
2.0.39
или выше, вы можете создать легковесный кластер без HDFS и подкластеров для хранения данных. При этом обязательно добавьте один или несколько подкластеров для обработки данных и укажите имя бакета.Совет
Чтобы использовать самую свежую версию образа, укажите значение
2.0
в параметреversion_id
.Чтобы получить доступ к веб-интерфейсам компонентов Data Proc, добавьте в описание кластера поле
ui_proxy
:resource "yandex_dataproc_cluster" "<имя кластера в Terraform>" { ... ui_proxy = <включить опцию UI Proxy: true или false> ... }
Чтобы задать параметры автоматического масштабирования в подкластерах для обработки данных, добавьте в описание соответствующего подкластера
subcluster_spec
блокautoscaling_config
с нужными вам настройками:subcluster_spec { name = "<имя подкластера>" role = "COMPUTENODE" ... autoscaling_config { max_hosts_count = <максимальное количество ВМ в группе> measurement_duration = <промежуток измерения нагрузки (в секундах)> warmup_duration = <время на разогрев ВМ (в секундах)> stabilization_duration = <период стабилизации (в секундах)> preemptible = <использование прерываемых ВМ: true или false> cpu_utilization_target = <целевой уровень загрузки vCPU, %> decommission_timeout = <таймаут декомиссии ВМ (в секундах)> } }
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.
-
Проверьте корректность файлов конфигурации Terraform:
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Создайте кластер:
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
В указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления.
-
Чтобы создать кластер, воспользуйтесь методом API create и передайте в запросе:
-
Идентификатор каталога, в котором должен быть размещен кластера, в параметре
folderId
. -
Имя кластера в параметре
name
. -
Конфигурацию кластера в параметре
configSpec
, в том числе:-
Версию образа в параметре
configSpec.versionId
.Используя образ версии
2.0.39
или выше, вы можете создать легковесный кластер без HDFS и подкластеров для хранения данных. При этом обязательно добавьте один или несколько подкластеров для обработки данных и укажите имя бакета.Совет
Чтобы использовать самую свежую версию образа, укажите значение
2.0
. -
Список компонентов в параметре
configSpec.hadoop.services
. -
Публичную часть SSH-ключа в параметре
configSpec.hadoop.sshPublicKeys
. -
Настройки подкластеров в параметре
configSpec.subclustersSpec
.
-
-
Зону доступности кластера в параметре
zoneId
. -
Идентификатор сервисного аккаунта кластера в параметре
serviceAccountId
. -
Имя бакета в параметре
bucket
. -
Идентификаторы групп безопасности кластера в параметре
hostGroupIds
. -
Настройки защиты от удаления кластера в параметре
deletionProtection
.Включенная защита от удаления кластера не помешает подключиться к нему вручную и удалить данные.
Чтобы назначить публичный IP-адрес всем хостам подкластера, передайте значение true
в параметре configSpec.subclustersSpec.assignPublicIp
.
Чтобы создать кластер, размещенный на группах выделенных хостов, передайте список их идентификаторов в параметре hostGroupIds
.
Внимание
Эту настройку нельзя изменить после создания кластера. Использование выделенных хостов существенно влияет на тарификацию кластера.
Чтобы настроить хосты кластера с помощью скриптов инициализации, укажите их в одном или нескольких параметрах configSpec.hadoop.initializationActions
.
После того, как кластер перейдет в статус Running, вы можете подключиться к хостам подкластеров с помощью указанного SSH-ключа.
Примеры
Создание легковесного кластера для заданий Spark и PySpark
Создайте кластер Data Proc для выполнения заданий Spark без HDFS и подкластеров для хранения данных с тестовыми характеристиками:
-
С именем
my-dataproc
. -
С бакетом
dataproc-bucket
. -
В зоне доступности
ru-central1-c
. -
С сервисным аккаунтом
dataproc-sa
. -
Образом версии
2.0
. -
С компонентами
SPARK
иYARN
. -
С путем к публичной части SSH-ключа
/home/username/.ssh/id_rsa.pub
. -
С подкластером с управляющими хостами
master
и одним подкластером для обработки данныхcompute
:- Класса
s2.micro
. - С хранилищем на сетевых SSD-дисках (
network-ssd
) объемом 20 ГБ. - В подсети
default-ru-central1-c
. - С публичным доступом.
- Класса
-
В группе безопасности
enp6saqnq4ie244g67sb
. -
С защитой от случайного удаления кластера.
Выполните следующую команду:
yc dataproc cluster create my-dataproc \
--bucket=dataproc-bucket \
--zone=ru-central1-c \
--service-account-name=dataproc-sa \
--version=2.0 \
--services=SPARK,YARN \
--ssh-public-keys-file=/home/username/.ssh/id_rsa.pub \
--subcluster name="master",`
`role=masternode,`
`resource-preset=s2.micro,`
`disk-type=network-ssd,`
`disk-size=20,`
`subnet-name=default-ru-central1-c,`
`assign-public-ip=true \
--subcluster name="compute",`
`role=computenode,`
`resource-preset=s2.micro,`
`disk-type=network-ssd,`
`disk-size=20,`
`subnet-name=default-ru-central1-c,`
`assign-public-ip=true \
--security-group-ids=enp6saqnq4ie244g67sb \
--deletion-protection=true