Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Managed Service for Greenplum®
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Расчет конфигурации кластера
    • Создание кластера
    • Подключение к базе данных
    • Остановка и запуск кластера
    • Управление хостами кластера
      • Просмотр хостов кластера
      • Расширение кластера
    • Изменение настроек кластера
    • Управление ролями и пользователями
    • Управление клиентскими процессами
    • Использование внешних таблиц
    • Расширения Greenplum
      • Управление расширениями
      • pgcrypto
      • uuid-cb
    • Управление резервными копиями
    • Просмотр логов кластера
    • Удаление кластера
    • Диагностика производительности
    • Мониторинг состояния кластера и хостов
    • Управление ресурсными группами
  • Практические руководства
    • Миграция базы данных в Managed Service for Greenplum®
    • Создание внешней таблицы на базе таблицы из бакета Yandex Object Storage с помощью конфигурационного файла
    • Миграция базы данных из Greenplum® в PostgreSQL
    • Миграция базы данных из Greenplum® в ClickHouse
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Классы хостов
    • Сеть в Managed Service for Greenplum®
    • Квоты и лимиты
    • Типы дисков
    • Резервные копии
    • Ресурсные группы
    • Шардирование
    • Типы хранения данных
    • Пользователи и роли
    • Техническое обслуживание
    • Настройки Greenplum®
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • BackupService
      • ClusterService
      • ResourcePresetService
      • OperationService
    • REST (англ.)
      • Overview
      • Backup
        • Overview
        • get
        • list
      • Cluster
        • Overview
        • create
        • delete
        • expand
        • get
        • list
        • listBackups
        • listLogs
        • listMasterHosts
        • listOperations
        • listSegmentHosts
        • restore
        • start
        • stop
        • streamLogs
        • update
      • ResourcePreset
        • Overview
        • get
        • list
      • Operation
        • Overview
        • get
  • История изменений
  • Вопросы и ответы
    • Общие вопросы
    • Подключение
    • Резервное копирование
    • Изменение кластера
    • Кластер и хосты Managed Service for Greenplum®
    • Работа с внешними таблицами
    • Управление пользователями
    • Мониторинг и логи
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Создание кластера

Создание Greenplum®-кластера

Статья создана
Yandex Cloud
  • Как создать кластер Managed Service for Greenplum®
  • Примеры
    • Создание кластера

Кластер Managed Service for Greenplum® состоит из хостов-мастеров, которые принимают запросы от клиента, и хостов-сегментов, которые обеспечивают обработку и хранение данных.

Доступные типы диска зависят от выбранного класса хостов.

Подробнее см. в разделе Взаимосвязь ресурсов сервиса.

Как создать кластер Managed Service for Greenplum®

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, в котором нужно создать кластер баз данных.

  2. Выберите сервис Managed Service for Greenplum®.

  3. Нажмите кнопку Создать кластер.

  4. Введите имя кластера. Оно должно быть уникальным в рамках каталога.

  5. (опционально) Введите описание кластера.

  6. Выберите окружение, в котором нужно создать кластер (после создания кластера окружение изменить невозможно):

    • PRODUCTION — для стабильных версий ваших приложений.
    • PRESTABLE — для тестирования, в том числе самого сервиса Yandex Managed Service for Greenplum®. В Prestable-окружении раньше появляются новые функциональные возможности, улучшения и исправления ошибок. При этом не все обновления обеспечивают обратную совместимость.
  7. Выберите версию Greenplum®.

  8. (Опционально) Выберите группы выделенных хостов, на которых будет размещен кластер.

    Внимание

    Эту настройку нельзя изменить после создания кластера. Использование выделенных хостов существенно влияет на тарификацию кластера.

  9. В блоке Сетевые настройки:

    • Выберите облачную сеть для размещения кластера.

    • В параметре Группы безопасности укажите группу безопасности, которая содержит правила, разрешающие любой исходящий и входящий трафик по любому протоколу с любых IP-адресов.

      Внимание

      Для корректной работы кластера Managed Service for Greenplum® необходимо, чтобы хотя бы в одной из его групп безопасности были правила, разрешающие любой входящий и исходящий трафик с любых IP-адресов.

    • Выберите зону доступности и подсеть для размещения кластера. Чтобы создать новую подсеть, нажмите кнопку Создать новую рядом с нужной зоной доступности.

    • Выберите опцию Публичный доступ, чтобы подключаться к кластеру из интернета.

  10. Укажите настройки пользователя-администратора. Это специальный пользователь, который необходим для управления кластером и не может быть удален. Подробнее в разделе Пользователи и роли в Managed Service for Greenplum®.

    • Имя пользователя — может содержать латинские буквы, цифры, дефис и нижнее подчеркивание, но не может начинаться с дефиса. Длина от 1 до 32 символов.

      Примечание

      Имена admin, gpadmin, mdb_admin, mdb_replication, monitor, none, postgres, public, repl зарезервированы для собственных нужд Managed Service for Greenplum®. Создавать пользователей с этими именами нельзя.

    • Пароль — длина от 8 до 128 символов.

  11. При необходимости задайте дополнительные настройки кластера:

    • Начало резервного копирования (UTC) — время по UTC в 24-часовом формате, в которое начинается резервное копирование кластера. Если время не задано, резервное копирование начинается в 22:00 UTC.

    • Окно обслуживания — настройки времени технического обслуживания:

      • Чтобы разрешить проведение технического обслуживания в любое время, выберите пункт произвольное (по умолчанию).
      • Чтобы указать предпочтительное время начала обслуживания, выберите пункт по расписанию и укажите нужные день недели и час дня по UTC. Например, можно выбрать время, когда кластер наименее загружен.

      Операции по техническому обслуживанию проводятся для включенных и выключенных кластеров. Они могут включать в себя: обновление СУБД, применение патчей и так далее.

    • Доступ из DataLens — опция разрешает анализировать данные из кластера в сервисе Yandex DataLens.

    • Доступ из Data Transfer — включите эту опцию, чтобы разрешить доступ к кластеру из сервиса Yandex Data Transfer в Serverless-режиме.

      Это позволит через специальную сеть подключаться к Yandex Data Transfer, запущенному в Kubernetes. В результате будут быстрее выполняться, например, запуск и деактивация трансфера.

    • Защита от удаления — управляет защитой кластера от непреднамеренного удаления пользователем.

      Включенная защита от удаления кластера не помешает подключиться вручную и удалить содержимое базы данных.

  12. При необходимости задайте настройки СУБД уровня кластера.

  13. Укажите параметры хостов-мастеров на вкладке Master. Рекомендуемую конфигурацию см. в разделе Расчет конфигурации кластера.

    • Класс хоста — определяет технические характеристики виртуальных машин, на которых будут развернуты хосты-мастеры кластера.

    • В блоке Хранилище:

      • Выберите тип диска.

        От выбранного типа зависит, с каким шагом можно будет изменить размер хранилища:

        • хранилище на нереплицируемых SSD-дисках — с шагом 93 ГБ;
        • хранилище на локальных SSD-дисках:
          • для платформы Intel Cascade Lake — с шагом 100 ГБ;
          • для платформы Intel Ice Lake — с шагом 368 ГБ;
        • хранилища на сетевых SSD- и HDD-дисках — с шагом 1 ГБ.
  14. Укажите параметры хостов-сегментов на вкладке Segment. Рекомендуемую конфигурацию см. в разделе Расчет конфигурации кластера.

    • Количество хостов-сегментов.
    • Количество сегментов на хост. Максимальное значение этого параметра зависит от класса хостов.
    • Класс хоста — определяет технические характеристики виртуальных машин, на которых будут развернуты хосты-сегменты кластера.
    • В блоке Хранилище:
      • Выберите тип диска.

        От выбранного типа зависит, с каким шагом можно будет изменить размер хранилища:

        • хранилище на нереплицируемых SSD-дисках — с шагом 93 ГБ;
        • хранилище на локальных SSD-дисках:
          • для платформы Intel Cascade Lake — с шагом 100 ГБ;
          • для платформы Intel Ice Lake — с шагом 368 ГБ;
        • хранилища на сетевых SSD- и HDD-дисках — с шагом 1 ГБ.
  15. Нажмите кнопку Создать.

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы создать кластер:

  1. Проверьте, есть ли в каталоге подсети для хостов кластера:

    yc vpc subnet list
    

    Если ни одной подсети в каталоге нет, создайте нужные подсети в сервисе VPC.

  2. Посмотрите описание команды CLI для создания кластера:

    yc managed-greenplum cluster create --help
    
  3. Укажите параметры кластера в команде создания (в примере приведены не все доступные параметры):

    yc managed-greenplum cluster create <имя кластера> \
       --greenplum-version=<версия Greenplum®: 6.19> \
       --environment=<окружение: PRESTABLE или PRODUCTION> \
       --network-name=<имя сети> \
       --user-name=<имя пользователя> \
       --user-password=<пароль пользователя> \
       --master-config resource-id=<класс хоста>,`
                      `disk-size=<объем хранилища, ГБ>,`
                      `disk-type=<тип диска> \
       --segment-config resource-id=<класс хоста>,`
                      `disk-size=<объем хранилища, ГБ>,`
                      `disk-type=<тип диска> \
       --zone-id=<зона доступности> \
       --subnet-id=<идентификатор подсети> \
       --assign-public-ip=<доступ к хостам через публичный IP-адрес: true или false> \
       --security-group-ids=<список идентификаторов групп безопасности> \
       --deletion-protection=<защита от удаления кластера: true или false>
    

    Примечание

    Имя кластера должно быть уникальным в каталоге. Оно может содержать латинские буквы, цифры, дефис и нижнее подчеркивание. Максимальная длина имени 63 символа.

    Где:

    • --greenplum-version — версия Greenplum®.

    • --environment — окружение:

      • PRODUCTION — для стабильных версий ваших приложений.
      • PRESTABLE — для тестирования, в том числе самого сервиса Greenplum®. В Prestable-окружении раньше появляются новая функциональность, улучшения и исправления ошибок. При этом не все обновления обеспечивают обратную совместимость.
    • --network-name — имя сети.

    • --user-name — имя пользователя. Может содержать латинские буквы, цифры, дефис и нижнее подчеркивание, но должно начинаться с буквы, цифры или нижнего подчеркивания. Длина от 1 до 32 символов.

    • --user-password — пароль. Длина от 8 до 128 символов.

    • --master-config и --segment-config — конфигурация хостов-мастеров и хостов-сегментов:

      • resource-id — класс хоста.
      • disk-size — объем хранилища в гигабайтах.
      • disk-type — тип диска:
        • network-hdd;
        • network-ssd;
        • local-ssd;
        • network-ssd-nonreplicated.
    • --zone-id — зона доступности.

    • --subnet-id — идентификатор подсети. Необходимо указывать, если в выбранной зоне доступности создано 2 и больше подсетей.

    • --assign-public-ip — флаг, который указывается, если хостам требуется публичный IP-адрес.

    • --security-group-ids — список идентификаторов групп безопасности.

    • --deletion-protection — защита от удаления кластера.

      Включенная защита от удаления кластера не помешает подключиться вручную и удалить содержимое базы данных.

  4. Чтобы задать время начала резервного копирования, передайте нужное значение в формате HH:MM:SS в параметре --backup-window-start:

    yc managed-greenplum cluster create <имя кластера> \
       ...
       --backup-window-start=<время начала резервного копирования>
    
  5. Чтобы создать кластер, размещенный на группах выделенных хостов, укажите через запятую их идентификаторы в параметре --host-group-ids:

    yc managed-greenplum cluster create <имя кластера> \
       ...
       --host-group-ids=<идентификаторы групп выделенных хостов>
    

    Внимание

    Эту настройку нельзя изменить после создания кластера. Использование выделенных хостов существенно влияет на тарификацию кластера.

  6. Чтобы настроить время технического обслуживания (в т. ч. для выключенных кластеров), передайте нужное значение в параметре --maintenance-window при создании кластера:

    yc managed-greenplum cluster create <имя кластера> \
       ...
       --maintenance-window type=<тип технического обслуживания: anytime или weekly>,`
                           `day=<день недели для типа weekly>,`
                           `hour=<час дня для типа weekly>
    

    Где:

    • type — тип технического обслуживания:
      • anytime — в любое время.
      • weekly — по расписанию.
    • day — день недели для типа weekly в формате DDD. Например, MON.
    • hour — час дня по UTC для типа weekly в формате HH. Например, 21.
  7. Чтобы разрешить доступ из Yandex DataLens или Yandex Data Transfer, передайте значение true в соответствующих параметрах при создании кластера:

    yc managed-greenplum cluster create <имя кластера> \
       ...
       --datalens-access=<доступ из Yandex DataLens: true или false> \
       --datatransfer-access=<доступ из Yandex Data Transfer: true или false>
    

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). Terraform и его провайдеры распространяются под лицензией Mozilla Public License.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Чтобы создать кластер:

  1. В командной строке перейдите в каталог, в котором будут расположены конфигурационные файлы Terraform с планом инфраструктуры. Если такой директории нет — создайте ее.

  2. Если у вас еще нет Terraform, установите его и создайте конфигурационный файл с настройками провайдера.

  3. Создайте конфигурационный файл с описанием облачной сети и подсетей.

    Кластер размещается в облачной сети. Если подходящая сеть у вас уже есть, описывать ее повторно не нужно.

    Хосты кластера размещаются в подсетях выбранной облачной сети. Если подходящие подсети у вас уже есть, описывать их повторно не нужно.

    Пример структуры конфигурационного файла, в котором описывается облачная сеть с одной подсетью:

    resource "yandex_vpc_network" "<имя сети в Terraform>" { name = "<имя сети>" }
    
    resource "yandex_vpc_subnet" "<имя подсети в Terraform>" {
      name           = "<имя подсети>"
      zone           = "<зона доступности>"
      network_id     = yandex_vpc_network.<имя сети в Terraform>.id
      v4_cidr_blocks = ["<подсеть>"]
    }
    
  4. Создайте конфигурационный файл с описанием кластера и его хостов.

    Пример структуры конфигурационного файла:

    resource "yandex_mdb_greenplum_cluster" "<имя кластера в Terraform>" {
      name                = "<имя кластера>"
      environment         = "<окружение>"
      network_id          = yandex_vpc_network.<имя сети в Terraform>.id
      zone                = "<зона доступности>"
      subnet_id           = yandex_vpc_subnet.<имя сети в Terraform>.id
      assign_public_ip    = <получение публичного IP-адреса: true или false>
      deletion_protection = <защита от удаления кластера: true или false>
      version             = "<версия Greenplum®>"
      master_host_count   = <количество хостов-мастеров: 1 или 2>
      segment_host_count  = <количество хостов-сегментов: от 2 до 32>
      segment_in_host     = <количество сегментов на хост>
    
      master_subcluster {
        resources {
          resource_preset_id = "<класс хоста>"
          disk_size          = <объем хранилища, ГБ>
          disk_type_id       = "<тип диска>"
        }
      }
    
      segment_subcluster {
        resources {
          resource_preset_id = "<класс хоста>"
          disk_size          = <объем хранилища, ГБ>
          disk_type_id       = "<тип диска>"
        }
      }
    
      user_name     = "<имя пользователя>"
      user_password = "<пароль>"
    
      security_group_ids = ["<список идентификаторов групп безопасности>"]
    }
    

    Включенная защита от удаления кластера не помешает подключиться вручную и удалить содержимое базы данных.

    Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.

  5. Проверьте корректность файлов конфигурации Terraform:

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  6. Создайте кластер:

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    В указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления.

Воспользуйтесь методом API create и передайте в запросе:

  • Идентификатор каталога, в котором должен быть размещен кластер, в параметре folderId.
  • Имя кластера в параметре name.
  • Окружение кластера в параметре environment.
  • Версию Greenplum® в параметре config.version.
  • Имя пользователя в параметре userName.
  • Пароль пользователя в параметре userPassword.
  • Идентификатор сети в параметре networkId.
    • Идентификаторы групп безопасности в параметре securityGroupIds.
  • Конфигурацию хостов-мастеров в параметре masterConfig.
  • Конфигурацию хостов-сегментов в параметре segmentConfig.

При необходимости передайте дополнительные настройки кластера:

  • Настройки публичного доступа в параметре assignPublicIp.

  • Настройки окна резервного копирования в параметре config.backupWindowStart.

  • Настройки доступа из Yandex DataLens в параметре config.access.dataLens.

  • Настройки доступа из Yandex Data Transfer в параметре config.access.dataTransfer.

  • Настройки времени технического обслуживания (в т. ч. для выключенных кластеров) в параметре maintenanceWindow.

  • Настройки СУБД в параметре configSpec.greenplumConfig_<версия>.

  • Настройки защиты от удаления кластера в параметре deletionProtection.

    Включенная защита от удаления кластера не помешает подключиться вручную и удалить содержимое базы данных.

Примеры

Создание кластера

CLI

Создайте кластер Managed Service for Greenplum® с тестовыми характеристиками:

  • С именем gp-cluster.

  • Версии 6.19.

  • В окружении PRODUCTION.

  • В сети default.

  • С пользователем user1.

  • С паролем user1user1.

  • С хостами-мастерами и хостами-сегментами:

    • Класса s2.medium.
    • С хранилищем на локальных SSD-дисках (local-ssd) объемом 100 ГБ.
  • В зоне доступности ru-central1-a, в подсети b0rcctk2rvtr8efcch64.

  • С публичным доступом к хостам.

  • В группе безопасности enp6saqnq4ie244g67sb.

  • С защитой от случайного удаления кластера.

Выполните следующую команду:

yc managed-greenplum cluster create \
   --name=gp-cluster \
   --sqlserver-version=6.19 \
   --environment=PRODUCTION \
   --network-name=default \
   --user-name=user1 \
   --user-password=user1user1 \
   --master-config resource-id=s2.medium,`
                  `disk-size=100,`
                  `disk-type=local-ssd \
   --segment-config resource-id=s2.medium,`
                   `disk-size=100,`
                   `disk-type=local-ssd \
   --zone-id=ru-central1-a \
   --subnet-id=b0rcctk2rvtr8efcch64 \
   --assign-public-ip=true \
   --security-group-ids=enp6saqnq4ie244g67sb \
   --deletion-protection=true

Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками VMware, Inc в США и/или других странах.

Была ли статья полезна?

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Как создать кластер Managed Service for Greenplum®
  • Примеры
  • Создание кластера