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

После выполнения предварительных действий и загрузки бандла в кластер-менеджере ADCM содержится следующий список объектов (Рис.11):

  • Прототип кластера мониторинга и созданный на его основе экземпляр (программа мониторинга развернута на хосте, ADCM содержит записи о его результатах и настройках);
  • Прототип кластера adb для создания экземпляров;
  • Предварительно сгенерированные четыре хоста на основе бандла Datafort. Подразумевается, что хосты физически существуют в облаке Datafort, а в базе данных ADCM хранятся записи о них и их учетных данных – ssh-ключах или паролях.
../../../../_images/img_47.png

Рис. 11. Список объектов в ADCM

Данным объектам доступен следующий функционал:

Создание экземпляра кластера

При создании кластера в веб-интерфейсе ADCM генерируется новый экземпляр кластера adb, что означает только добавление данных о нем в базу данных ADCM – на этом этапе не производится установка adb на хосты.

  1. Открыть в ADCM вкладку “CLUSTERS” (Рис.12).
../../../../_images/img_51.png

Рис. 12. Вкладка “CLUSTERS”

  1. Нажать “Add cluster” и в открывшейся форме создать экземпляр кластера из прототипа adb, полученного из бандла (Рис.13).
../../../../_images/img_61.png

Рис. 13. Создание экземпляра кластера

  1. В результате выполненных действий факт создания экземпляра кластера отображается в базе данных ADCM на вкладке “CLUSTERS” (Рис.14).
../../../../_images/img_71.png

Рис. 14. Результат успешного создания экземпляра кластера

Конфигурация кластера

Для перехода к настройкам экземпляра кластера adb необходимо нажать кнопку с пиктограммой шестеренки в соответствующей строке вкладки “CLUSTERS” (Рис.14) и перейти в раздел меню “Configuration”. При этом открывается окно конфигурации выбранного экземпляра (Рис.15).

../../../../_images/img_81.png

Рис. 15. Окно конфигурации кластера

В блоке настроек “repos” указываются требуемые для установки adb пакеты из различных yum-репозиториев, при этом в каждом из параметров можно изменить заданный по умолчанию url на необходимый:

  • Arenadata;
  • Centos 7 extra;
  • Epel.

В блоке “ADCM” необходимо настроить адрес, на котором ADCM будет доступен извне:

  • Hostname (так же можно указать IP-адрес);
  • Port.

Каждый компонент сервиса кластера имеет возможность отсылать статусную информацию о своем состоянии (keep alive) процессу ADCM в докер-контейнере. В ряде случаев ADCM может оказаться за NAT, и в таком случае исключается очевидный вариант автоматического определения его адреса, видимого со стороны сервисной компоненты на хосте кластера. Поэтому данный адрес указывается вручную. Во время установки ADB адрес ADCM используется для заполнения конфигурации компонентов, отвечающих за передачу статусной информации. Поэтому адрес требует обязательного заполнения для выполнения дальнейших шагов (при пустом поле адреса выдается предупреждение на интерфейсе).

../../../../_images/img_91.png

Рис. 16. Окно конфигурации кластера с заполненным адресом

Добавление сервисов

Кластер ADB содержит следующие сервисы:

  • adb – MPP база данных;
  • chrony – сервис времени;
  • monitoring clients – агенты, отсылающие информацию о хосте и ADB в мониторинг.

Не все сервисы являются обязательными для установки. Например, если на хостах уже настроена служба времени, то нет необходимости устанавливать chrony. Или в случае когда применяется сервис мониторинга (не на базе Graphite), незачем ставить агенты из monitoring clients. Однако, наличие сервиса ADB является обязательным.

Important

На текущий момент невозможно удалить из кластера уже добавленный сервис

В настоящем примере в кластер будут добавлены все сервисы.

  1. Открыть вкладку “SERVICES” кластера adb (Рис.17).
../../../../_images/img_101.png

Рис. 17. Вкладка “SERVICES”

  1. Нажать “Add services” и в открывшейся форме добавить необходимые сервисы (Рис.18).
../../../../_images/img_111.png

Рис. 18. Добавление сервисов

  1. В результате выполненных действий факт добавления сервисов отображается в базе данных ADCM на вкладке “SERVICES” (Рис.19).
../../../../_images/img_121.png

Рис. 19. Результат успешного добавления сервисов

Настройка добавленных сервисов:

Настройка сервиса adb

Для перехода к настройкам сервиса adb необходимо нажать кнопку с пиктограммой шестеренки в соответствующей строке вкладки “SERVICES” и перейти в раздел меню “Configuration”. При этом открывается окно конфигурации сервиса adb (Рис.20).

../../../../_images/img_131.png

Рис. 20. Окно конфигурации сервиса adb

В блоке настроек “Main” задаются основные параметры:

  • Name of default database – имя по умолчанию, база данных обслуживается скриптами в crontab (сборка мусора, защита от зацикливания счетчика транзакций и т.д.);
  • Use segment mirroring – включение синхронной репликации основных сегментов с данными (в кластер добавляются зеркальные сегменты). В результате зеркальные сегменты обеспечивают отказоустойчивость, но требуют в два раза больше места для хранения данных. Если в кластере достаточно хостов, то используется политика зеркалирования spread, в противном случае – group.

В блоке настроек “Advanced” задаются следующие расширенные параметры:

  • Number of segments per host – количество основных сегментов на хосте сегментов. В случае если параметр не указан, используется значение, равное (количество ядер ЦПУ)/2. При задании количества основных сегментов вручную следует учитывать, что, чем больше параллельных SQL-запросов планируется выполнять одновременно, тем меньше должно быть основных сегментов на хосте;
  • Data directory template – каталог для хранения данных на хостах сегментов. При отсутствии каталога, создается автоматически;
  • Mount segment storage devices for data – монтирование блочных устройств хранения к каталогам хранения данных на хостах сегментов. В случае если блочные устройства отсутствуют, монтирование не осуществляется;
  • Segment server storage devices – массив блочных устройств в формате массива JSON на хостах сегментов, например, [“sdb”, “sdc”], при этом префикс “/dev” не указывается. Должен быть одинаковым на всех хостах сегментов кластера (можно воспользоваться lvm);
  • Use nobarrier (segment hosts) – не рекомендуется использовать барьеры в XFS на хостах сегментов;
  • Mount master storage device for data – монтирование блочных устройств хранения к каталогам хранения данных на хостах мастера (хосты мастера и резервного мастера). В случае если блочные устройства отсутствуют, монтирование не осуществляется;
  • Master server storage device – блочное устройство на хосте мастера, например, “sdb”, при этом префикс “/dev” не указывается. Должен быть одинаковым на всех хостах мастера в кластере (мастере и резервном мастере);
  • Use nobarrier (master hosts) – не рекомендуется использовать барьеры в XFS на хостах мастера;
  • Arenadata configs directory name – название каталога с конфигурационными файлами Arenadata. Располагается в домашнем каталоге системного пользователя;
  • Sysctl parameters – необходимые для ADB параметры ядра linux;
  • System user GID – идентификатор группы, к которой принадлежит пользователь. Системный пользователь должен создаваться с одинаковыми UID и GID на всех серверах с целью сокращения вероятности возникновения проблем доступа к общим сетевым хранилищам с файлами резервных копий ADB;
  • System user name – имя системного пользователя для ADB;
  • System user UID – идентификатор пользователя. Системный пользователь должен создаваться с одинаковыми UID и GID на всех серверах с целью сокращения вероятности возникновения проблем доступа к общим сетевым хранилищам с файлами резервных копий ADB.

Настройка сервиса chrony

Для перехода к настройкам сервиса chrony необходимо нажать кнопку с пиктограммой шестеренки в соответствующей строке вкладки “SERVICES” и перейти в раздел меню “Configuration”. При этом открывается окно конфигурации сервиса chrony (Рис.21).

../../../../_images/img_141.png

Рис. 21. Окно конфигурации сервиса chrony

Параметр NTP server – это адрес действующего NTP-сервера. Когда параметр задан, мастер берет время с NTP-сервера, резервный мастер – с мастера или NTP-сервера, а сегменты – с мастера или резервного мастера. В случае если параметр не задан или NTP-сервер недоступен, то мастер использует свои локальные часы, резервный мастер – часы мастера или свои локальные, а сегменты берут время с мастера или резервного мастера.

Настройка сервиса monitoring clients

Important

На текущий момент у сервиса monitoring clients отсутствуют параметры для настройки

Добавление хостов

По результатам предварительных действий в ADCM создано четыре хоста в облаке Datafort (их адреса и учетные данные сохранены в их конфигурациях). На данном этапе их следует добавить в кластер adb:

  1. В меню кластера adb открыть вкладку “Hosts” (Рис.22).
../../../../_images/img_151.png

Рис. 22. Вкладка “Hosts” кластера adb

  1. Нажать “Add hosts” и в открывшейся форме выбрать необходимые хосты (Рис.23).
../../../../_images/img_161.png

Рис. 23. Выбор хостов

  1. В результате выполненных действий факт добавления хостов отображается в кластере adb в списке вкладки “Hosts” (Рис.24).
../../../../_images/img_171.png

Рис. 24. Результат успешного добавления хостов

Размещение компонентов сервисов на хостах

Каждый сервис состоит из компонентов, которые должны быть размещены на хостах в кластере. Для этого необходимо на вкладке кластера “Hosts - Components” выбрать компонент посредством нажатия на него мышкой в колонке “Components” и определить для него необходимый хост в колонке “Hosts” (Рис.25).

../../../../_images/img_181.png

Рис. 25. Размещение компонентов сервисов на хостах

Поскольку службы adb, chrony и monitoring clients добавлены в кластер ADB, но еще не размещены на хостах, то изначально ни на одном из хостов нет компонентов:

  1. Компоненты сервиса adb (Рис.26):
  • adb.master – необходимо добавить строго на один хост мастера (dfmdw);
  • adb.segment – необходимо добавить на один или более хостов сегментов (dfsdw1, dfsdw2);
  • adb.standby – опционально может быть добавлен на один хост резервного мастера (dfsmdw).
../../../../_images/img_191.png

Рис. 26. Компоненты сервиса adb

  1. Компоненты сервиса chrony (Рис.27):
  • chrony.master – необходимо добавить строго на один хост мастера (df-mdw);
  • chrony.secondary – опционально может быть добавлен на любое количество хостов сегментов (dfsdw1, dfsdw2);
  • chrony.standby – опционально может быть добавлен на любое количество хостов резервного мастера (dfsmdw).
../../../../_images/img_201.png

Рис. 27. Компоненты сервиса chrony

  1. Компоненты сервиса monitoring clients:
  • monitoring_clients.agent – опционально может быть добавлен на любое количество хостов (dfmdw, dfsmdw, dfsdw1, dfsdw2). Собирает метрики с хостов (рекомендуется разместить агента мониторинга на всех хостах кластера).
../../../../_images/img_211.png

Рис. 28. Компоненты сервиса monitoring clients

Установка всех сервисов через кластер adb

Существует два варианта установки сервисов в кластере adb:

  • Установка всех добавленных сервисов единственным действием на уровне кластера;
  • Выборочная установка сервисов на уровне каждого отдельного сервиса.

В данном пункте будет рассмотрена установка всех сервисов на уровне кластера.

  • Импортировать конфигурации мониторинга в кластер adb, открыв в ADCM вкладку “CLUSTERS”, выбрав опцию Import и отметив импортируемые настройки сервисов с помощью простановки флажков в открывшейся форме (Рис.29).
../../../../_images/img_351.png

Рис. 29. Импорт конфигурации мониторинга

  • Перейти на любую вкладку кластера adb (в примере “Hosts - Components”). На верхней панели доступна кнопка “Install”, устанавливающая все добавленные сервисы в кластере.
../../../../_images/img_211.png

Рис. 30. Кнопка “Install” на вкладке “Hosts - Components” кластера adb

  • Нажать кнопку “Install” на открывшейся форме. В зависимости от желаемого поведения установить флаг перезагрузки хостов кластера после завершения установки (если флаг не установлен, перезагрузку необходимо произвести вручную, чтобы применились системные параметры).
../../../../_images/img_451.png

Рис. 31. Подтверждение установки всех сервисов в кластере

  • По результатам инсталляции все сервисы изменили свой статус с created на новый:
    • adb - initialized
    • chrony - synced
    • monitoring clients - monitored
../../../../_images/img_461.png

Рис. 32. Статус сервисов

Установка сервиса adb

Для выборочной установки сервиса adb необходимо выполнить ряд действий на вкладке кластера “Services”:

  1. Install ADB – производится настройка хостов, установка необходимых пакетов и перезагрузка хостов для применения конфигурации sysctl:
  • В поле “Actions” нажать на пиктограмму в строке сервиса adb и выбрать действие Install_ADB (Рис.33).
../../../../_images/img_231.png

Рис. 33. Install_ADB

  • Установить булевый флаг для перезагрузки хостов после окончания установки (Рис.34). В ином случае перезагрузку необходимо произвести вручную.
../../../../_images/img_241.png

Рис. 34. Action parameters

  • По результатам инсталляции сервис adb меняет состояние с created – создан, на installed – установлен (Рис.35).
../../../../_images/img_251.png

Рис. 35. Статус сервиса

  1. Initdb – создание кластера ADB на подготовленных хостах:
  • В поле “Actions” нажать на пиктограмму в строке сервиса adb и выбрать действие Initdb (Рис.36).
../../../../_images/img_261.png

Рис. 36. Initdb

  • Подтвердить действие в открывшемся диалоговом окне (Рис.37).
../../../../_images/img_271.png

Рис. 37. Запрос на подтверждение действия

  • По результатам создания кластера сервис adb меняет состояние с installed – установлен, на initialized – инициализирован. На данном этапе становится доступна кнопка “Check” для проверки работоспособности кластера (Рис.38).
../../../../_images/img_281.png

Рис. 38. Кластер инициализирован, доступна кнопка “Check”

  1. Create database – создание базы данных с именем, указанным в параметре Name of defult database в настройках сервиса adb, и установка скриптов в crontab:
  • В поле “Actions” нажать на пиктограмму в строке сервиса adb и выбрать действие Create_Database (Рис.39).
../../../../_images/img_291.png

Рис. 39. Create_Database

  • Подтвердить действие в открывшемся диалоговом окне (Рис.40).
../../../../_images/img_301.png

Рис. 40. Запрос на подтверждение действия

Установка сервиса chrony

Сервис chrony является опциональным и может запускаться многократно с целью изменения его настроек. Для этого необходимо выполнить ряд действий на вкладке кластера “Services”:

  • В строке сервиса chrony в поле “Actions” нажать на пиктограмму и выбрать действие Install (Рис.41).
../../../../_images/img_311.png

Рис. 41. Install chrony

  • Подтвердить действие в открывшемся диалоговом окне (Рис.42).
../../../../_images/img_321.png

Рис. 42. Запрос на подтверждение действия

  • По результатам инсталляции сервис chrony меняет состояние с created – создан, на synced – синхронизирован (Рис.43).
../../../../_images/img_331.png

Рис. 43. Статус сервиса

Установка сервиса monitoring clients

Сервис monitoring clients является опциональным и требует импорта конфигурационных параметров кластера мониторинга (адреса, логин/пароль) в кластер adb:

  1. Для импорта конфигурации мониторинга в кластер adb необходимо открыть в ADCM вкладку “CLUSTERS”, выбрать опцию Import и отметить импортируемые настройки сервисов с помощью простановки флажков в открывшейся форме (Рис.29).
  2. Установка клиентов мониторинга в кластер adb:
  • В кластере adb на вкладке “Services” в поле “Actions” нажать на пиктограмму и выбрать действие Install для службы monitoring clients (Рис.44).
../../../../_images/img_361.png

Рис. 44. Установка клиентов мониторинга

  • Подтвердить действие в открывшемся диалоговом окне (Рис.45).
../../../../_images/img_371.png

Рис. 45. Запрос на подтверждение действия

  • По результатам инсталляции служба monitoring clients меняет состояние с created – создана, на monitored – мониторится (Рис.46).
../../../../_images/img_381.png

Рис. 46. Статус службы