Установка ADQM =============== .. important:: Полная документация по продукту **Arenadata QuickMarts** (**ADQM**) приведена по `ссылке `_. Предварительные шаги --------------------- Для установки кластера **ADQM** посредством **ADCM** необходимо выполнить следующие предварительные шаги: 1. Установить `ADCM `_. 2. Создать хосты для кластера ADQM: * Загрузить выбранный бандл хоста. В текущем примере используется бандл *ssh*; * Для установки понадобится один или более хост. В текущем примере используется четыре хоста (*dev-click-{1..4}*). 3. (Опционально) Создать кластер мониторинга: * Загрузить бандл мониторинга; * Создать экземпляр кластера мониторинга и установить его. 4. (Опционально) Для установки без доступа к сети Интернет (с ограниченным доступом): * Запросить дистрибутив `Arenadata Enterprise Tools `_; * Развернуть Arenadata Enterprise Tools на выделенном хосте. Загрузка бандла ADQM --------------------- Загрузка бандла **ADQM** необходима для создания в **ADCM** прототипа кластера, из которого в дальнейшем возможна генерация его экземпляров. Для загрузки бандла следует выполнить следующие действия: 1. Открыть в ADCM вкладку "BUNDLES" (:numref:`Рис.%s `). .. _img_1: .. figure:: imgs/img_1.png :align: center Вкладка "BUNDLES" 2. Нажать "Upload bundle" и в открывшейся форме выбрать файл бандла ADQM (:numref:`Рис.%s `). .. _img_2: .. figure:: imgs/img_2.png :align: center Выбор бандла 3. В результате выполненных действий факт успешной загрузки отображается в общем списке бандлов на вкладке "BUNDLES" (:numref:`Рис.%s `). .. _img_3: .. figure:: imgs/img_3.png :align: center Результат успешной загрузки бандла Создание кластера ADQM ------------------------ После выполнения пунктов `Предварительные шаги`_ и `Загрузка бандла ADQM`_ в кластер-менеджере **ADCM** содержится следующий список объектов (:numref:`Рис.%s `): * Прототип кластера мониторинга и созданный на его основе экземпляр (программа мониторинга развернута на хосте, ADCM содержит записи о его результатах и настройках); * Прототип кластера *adqm* для создания экземпляров; * Предварительно сгенерированные хосты на основе бандла *ssh*: ``dev-click-{1..4}`` -- хосты, на которые будет произведена установка ADQMDB; ``dev-click-mon`` -- хост для установки сервисов мониторинга (опционально); ``dev-click-et`` -- хост для установки ArenaData EnterpriseTools (опционально). .. _img_4: .. figure:: imgs/img_4.png :align: center Список объектов в ADCM Данным объектам доступен следующий функционал: + `Создание экземпляра кластера`_; + `Конфигурация кластера`_; + `Добавление сервисов`_; + `Добавление хостов`_; + `Размещение компонентов сервисов на хостах`_; + `Установка сервисов`_. Создание экземпляра кластера ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ При создании кластера в веб-интерфейсе **ADCM** генерируется новый экземпляр кластера *adqm*, что означает только добавление данных о нем в базу данных **ADCM** -- на этом этапе не производится установка *adqm* на хосты. Для создания экземпляра кластера необходимо: 1. Открыть в ADCM вкладку "CLUSTERS" (:numref:`Рис.%s `). .. _img_5: .. figure:: imgs//img_5.png :align: center Вкладка "CLUSTERS" 2. Нажать "Add cluster" и в открывшейся форме создать экземпляр кластера из прототипа *adqm*, полученного из бандла (:numref:`Рис.%s `). .. _img_6: .. figure:: imgs/img_6.png :align: center Создание экземпляра кластера 3. В результате выполненных действий факт создания экземпляра кластера отображается в базе данных ADCM на вкладке "CLUSTERS" (:numref:`Рис.%s `). .. _img_7: .. figure:: imgs/img_7.png :align: center Результат успешного создания экземпляра кластера Конфигурация кластера ^^^^^^^^^^^^^^^^^^^^^^ Для перехода к настройкам экземпляра кластера *adqm* необходимо нажать кнопку с пиктограммой шестеренки в соответствующей строке вкладки "CLUSTERS" (:numref:`Рис.%s `) и перейти в раздел меню "Configuration". При этом открывается окно конфигурации выбранного экземпляра (:numref:`Рис.%s `). .. _img_8: .. figure:: imgs/img_8.png :align: center Окно конфигурации кластера В блоке настроек "repos" указываются требуемые для установки *adqm* yum-репозитории, при этом в каждом из параметров можно изменить заданный по умолчанию url на необходимый: * ADQM; * Monitoring. Конфигурация кластера **Arenadata Enterprise Tools** может быть импортирована и применена автоматически. Для этого необходимо на странице со списком кластеров для созданного кластера **ADQM** нажать на пиктограмму в столбце *Import* и установить флажок в раскрывшемся списке для сервиса *http* кластера *Enterprise Tools*. .. _img_67: .. figure:: imgs/img_67.png :align: center Импорт конфигурации локального репозитория из кластера Enterprise Tools .. important:: Arenadata Enterprise Tools предоставляет локальную копию только репозиториев Arenadata Database и Arenadata Monitoring. Доступ к репозиториям CentOS должен быть организован отдельно Добавление сервисов ^^^^^^^^^^^^^^^^^^^^ Кластер **ADQM** содержит следующие сервисы: * *ADQM DB* -- база данных ClickHouse; * *Zookeeper* -- распределенное древовидное хранилище. Используется для хранения мета-информации о таблицах; * *Monitoring Clients* -- агенты, отсылающие информацию о хосте и ADQM в мониторинг; Наличие сервисов *ADQM DB* и *Zookeeper* является обязательным. *Monitoring Clients* -- опционально. .. important:: На текущий момент невозможно удалить из кластера уже добавленный сервис В настоящем примере в кластер добавляются все сервисы: 1. Открыть вкладку "SERVICES" кластера *adqm* (:numref:`Рис.%s `). .. _img_10: .. figure:: imgs/img_10.png :align: center Вкладка "SERVICES" 2. Нажать "Add services" и в открывшейся форме добавить необходимые сервисы (:numref:`Рис.%s `). .. _img_11: .. figure:: imgs/img_11.png :align: center Добавление сервисов 3. В результате выполненных действий факт добавления сервисов отображается в базе данных ADCM на вкладке "SERVICES" (:numref:`Рис.%s `). .. _img_12: .. figure:: imgs/img_12.png :align: center Результат успешного добавления сервисов Настройка добавленных сервисов ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Настройка сервиса ADQM DB ~~~~~~~~~~~~~~~~~~~~~~~~~~ Для перехода к настройкам сервиса *ADQM DB* необходимо нажать кнопку с пиктограммой шестеренки в соответствующей строке вкладки "SERVICES" и перейти в раздел меню "Configuration". При этом открывается окно конфигурации сервиса *ADQM DB* (:numref:`Рис.%s `). .. _img_13: .. figure:: imgs/img_13.png :align: center Окно конфигурации сервиса ADQM * ``Max connections`` -- максимальное количество входящих соединений; * ``Max concurrent queries`` -- максимальное количество одновременно обрабатываемых запросов; * ``ClickHouse http port`` -- порт для обращений к серверу по протоколу HTTP; * ``Listen host`` -- ограничение по хостам, с которых может прийти запрос. Если необходимо, чтобы сервер отвечал всем, то надо указать ``::``; * ``Data path`` -- путь к каталогу с данными; .. important:: Завершающий слеш обязателен * ``Temp path`` -- путь ко временным данным для обработки больших запросов; .. important:: Завершающий слеш обязателен * ``User files path`` -- каталог с пользовательскими файлами. Используется в табличной функции *file()*. * ``Distributed DDL zookeeper path`` -- путь в ZooKeeper к очереди с запросами DDL. В блоке настроек *Cluster_configuration* задаются параметры для создания кластеров. На данном этапе создается только один кластер -- *default_cluster*: * ``Replication factor`` -- настройка коэффициента репликации, используется для автосоздания *default_cluster*. Используется для заполнения ``Default cluster topology``, когда он пустой; * ``Default cluster topology`` -- схема (*JSON*), на основе которой заполняется конфигурация *default_cluster*. Созданный автоматически пример c *Replication factor* = 1: ``{1: {1: 'dev-click-1'}, 2: {1: 'dev-click-2'}, 3: {1: 'dev-click-3'}, 4: {1: 'dev-click-4'}}``. Добавление хостов ^^^^^^^^^^^^^^^^^^^ По результатам пункта `Предварительные шаги`_ в **ADCM** создано четыре хоста для установки *ADQM DB* (их логины и пароли сохранены в их конфигурациях). На данном этапе их следует добавить в кластер *adqm*: 1. В меню кластера *adqm* открыть вкладку "Hosts" (:numref:`Рис.%s `). .. _img_15: .. figure:: imgs/img_15.png :align: center Вкладка "Hosts" кластера adqm 2. Нажать "Add hosts" и в открывшейся форме выбрать необходимые хосты (:numref:`Рис.%s `). .. _img_16: .. figure:: imgs/img_16.png :align: center Выбор хостов 3. В результате выполненных действий факт добавления хостов отображается в кластере *adqm* в списке вкладки "Hosts" (:numref:`Рис.%s `). .. _img_17: .. figure:: imgs/img_17.png :align: center Результат успешного добавления хостов Размещение компонентов сервисов на хостах ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Каждый сервис состоит из компонентов, которые должны быть размещены на хостах в кластере. Для этого необходимо на вкладке кластера "Hosts - Components" выбрать компонент посредством нажатия на него мышкой в колонке "Components" и определить для него необходимый хост в колонке "Hosts" (:numref:`Рис.%s `). .. _img_18: .. figure:: imgs/img_18.png :align: center Размещение компонентов сервисов на хостах Поскольку сервисы *ADQM DB*, *Zookeeper* и *Monitoring Clients* добавлены в кластер **ADQM**, но еще не размещены на хостах, то изначально ни на одном из хостов нет компонентов. Компоненты сервиса *ADQM*: * *ADQM DB* -- добавляется на те хосты, на которых должна быть база данных. Не менее одного; * *Zookeeper* -- так как для Zookeeper необходим кворум, то необходимо нечетное количество хостов. Рекомендуется три; * *Monitoring Clients* -- опционально может быть добавлен на все хосты. Рекомендуется покрывать мониторингом все хосты в кластере. Установка сервисов ^^^^^^^^^^^^^^^^^^^ После выполнения предварительной настройки кнопка *Install* в правом верхнем углу становится активной -- окрашена в рыжий цвет (:numref:`Рис.%s `). .. _img_19: .. figure:: imgs/img_19.png :align: center Готовый к установке кластер Для начала установки необходимо подтвердить действие, нажав кнопку *Run* (:numref:`Рис.%s `). .. _img_20: .. figure:: imgs/img_20.png :align: center Запрос на подтверждение действия После окончания процесса установки статусы сервисов становятся зелеными, что говорит о удачной инсталляции и работающих процессах (:numref:`Рис.%s `). .. _img_21: .. figure:: imgs/img_21.png :align: center "Здоровый" кластер Особенности при оффлайн-установке ----------------------------------- Для оффлайн инсталляции кластера **ADQM** перед его установкой необходимо создать и настроить кластер **Arenadata Enterprise Tools**, описание которого приведено по `ссылке `_. После этого в выпадающем меню *imports* для кластера *ADQM* становится доступна опция *http* -- это подключаемые оффлайн-репозитории необходимых для установки кластера пакетов (:numref:`Рис.%s `). .. _img_201: .. figure:: imgs/img_201.png :align: center Результат успешного импорта http-репозиториев .. important:: Pack для оффлайн-установки поставляется исключительно вместе с поддержкой сервиса ADQM