Использование ADCM Wizard для установки ADQM
ADQM позволяет выполнить кластерное действие Assisted install, которое устанавливает кластер ADQM с помощью ADCM Wizard. Wizard осуществляет предварительную проверку хостов и запрашивает только необходимые настройки. Для остальных параметров он предлагает значения, полученные на основе анализа хостов; кроме того, он выполняет финальную проверку перед установкой. Действие Assisted install доступно для кластера ADQM, который еще не установлен.
|
NOTE
|
Предварительные требования
Для использования Wizard необходимо выполнить следующие предварительные требования:
-
ADCM должен подключаться к каждому хосту по SSH, а пользователь ADCM должен иметь возможность использовать
sudoбез пароля. -
На каждом хосте должна быть установлена поддерживаемая ОС (x86_64).
-
На хостах не должно быть пакетов или данных, оставшихся от предыдущей установки ADQM.
-
Репозитории пакетов в конфигурации кластера должны быть корректными и доступными с хостов. Для установки из offline-зеркала сначала импортируйте его в кластер.
-
Каждый хост должен получать адреса всех хостов кластера по их именам с помощью DNS или файла /etc/hosts.
-
Системное время на хостах должно быть синхронизировано (NTP).
-
Рекомендуется иметь как минимум 4 ГиБ оперативной памяти и 2 vCPU на каждом хосте, а также отдельный диск с данными при больших объемах данных.
-
Для мониторинга ADM импортируйте настройки кластера ADM на вкладке Import кластера ADQM перед началом работы. Два хоста, на которых работает VMAgent, должны иметь возможность устанавливать Docker из своих репозиториев и загружать образы из Docker registry, указанного в конфигурации кластера.
Перед запуском Wizard создайте кластер из бандла ADQM Enterprise и добавьте хосты в него. Не добавляйте сервисы — Wizard добавит их позже.
Установка с помощью Wizard
Откройте страницу Clusters в ADCM. Нажмите иконку
, чтобы открыть список доступных действий, и выберите действие Assisted install.
Откроется Wizard. Шаги установки перечислены слева.
Когда шаг завершен, нажмите Next step, чтобы перейти далее.
Если вы закроете Wizard, прогресс установки сохранится. Когда вы откроете его снова, появится диалоговое окно, в котором вы можете выбрать: продолжить установку, нажав Continue, или начать сначала, выбрав Start new.
В Wizard некоторые поля скрыты до тех пор, пока вы не активируете переключатель Advanced в верхней части шага. Переключатель Expand content раскрывает все группы.
Если вам нужно сбросить настройки шага, нажмите Discard changes.
Wizard выполняет шаги, описанные ниже.
Шаг 1. Hosts: Inspect hosts
На этом шаге выполняется проверка хостов. Нажмите Inspect, чтобы ее запустить.
Wizard подключается к каждому хосту и проверяет, может ли на нем работать ADQM. Он проверяет ОС, наличие прав на команду sudo, память, CPU, диски, порты (8123, 9000, 9009, 2129, 9444, 2181, 9090, 11200, 11210, 9091, 11203), имена хостов, репозитории пакетов и все, что могло остаться от предыдущей установки. Он также записывает характеристики CPU, памяти, дисков и сети для последующих шагов и проверяет, на скольких хостах одновременно будет выполняться установка (см. Скорость установки).
Если проверка обнаружит проблему, шаг завершится с ошибкой. Вы можете открыть задачу (job) и найти список проблем в конце лога. Исправьте их и снова нажмите Inspect.
Предупреждения (warning) не останавливают Wizard. Вы увидите их на следующем шаге.
Таблицы ниже содержат сообщения об ошибках и предупреждениях с их объяснением. Wizard отображает имя хоста перед каждым сообщением.
| Сообщение | Как исправить |
|---|---|
Cluster has no hosts. Add them and press Inspect again |
Добавьте хосты в кластер |
Cannot connect: … |
Проверьте, что хост работает и доступен по SSH из ADCM |
Cannot collect facts: … |
Проверьте доступ по SSH и убедитесь, что на хосте установлен Python 3 |
ADCM user cannot use sudo: … |
Разрешите пользователю ADCM использовать |
… is not supported. Supported: … |
Используйте хост с поддерживаемой ОС |
Previous ADQM installation found: … Remove it or use a clean host. |
Удалите старые пакеты и данные ADQM или используйте другой хост |
CPU lacks SSE 4.2, which ADQMDB requires |
Используйте хост или модель процессора ВМ с поддержкой SSE 4.2 |
Only N GiB free on…; packages need at least 2 GiB. |
Освободите место в корневой файловой системе |
… and … have the same host name … |
Задайте каждому хосту уникальное имя |
Cannot resolve … / … resolves to …, not to an address of … |
Измените настройки DNS или файл /etc/hosts, чтобы имя каждого хоста указывало на соответствующий хост |
Repository … is not reachable: … |
Измените адрес репозитория в конфигурации кластера или настройки сети и прокси-сервера |
| Сообщение | Значение |
|---|---|
N GiB RAM: ADQMDB needs at least 4 GiB |
Недостаточно памяти для стабильной работы. Предупреждение появляется при размере памяти менее 3,5 ГиБ |
N vCPU: at least 2 are recommended |
Слишком мало процессорных ядер |
Port N, which ADQM uses, is taken by … |
Другая программа или сервис использует порт ADQM. Остановите его или используйте другой порт. "A systemd socket" часто означает, что сервис из удаленного пакета продолжает прослушивать порт; в этом случае остановите сокет |
/var/lib/clickhouse is not empty; … |
Очистите каталог или выберите другой путь к данным в профиле Production |
RAM differs between hosts …; memory settings follow the smallest ADQMDB host |
Значения памяти рассчитаны для хоста с наименьшим объемом памяти. Предупреждение появляется когда размер RAM хоста с наибольшим количеством памяти более чем вдвое превышает размер RAM хоста с наименьшим количеством памяти |
Host clocks differ by N s; synchronize them (NTP). |
Настройте синхронизацию времени — это необходимо для репликации и координатора. Предупреждение появляется при расхождении более чем на 30 с |
Hosts use different time zones: … |
Согласуйте часовые пояса или задайте один для ADQMDB в профиле Production |
Ansible runs tasks on N of M hosts at a time. Set forks to K in Configuration -> Ansible settings for faster installation |
Установка будет выполняться по N хостов за один этап. Задайте |
Обратите внимание, что при использовании импортированного offline-зеркала проверка репозиториев выполняется во время установки, а не на шаге 1.
На текущем шаге выводятся предупреждения о портах со стандартными номерами. На шаге Apply выполняется проверка портов, фактически настроенных для ваших компонентов.
Хосты, добавленные или удаленные после выполнения этого шага, не учитываются до тех пор, пока вы не откроете этот шаг, не нажмете Discard changes и снова не запустите Inspect hosts.
Шаг 2. Profile: Choose profile
На этом шаге вы можете выбрать профиль установки и систему мониторинга.
Таблица ниже может помочь в выборе профиля.
| Характеристика | Express | Production |
|---|---|---|
Использование |
Быстрая установка с рекомендованными значениями: тесты, demo-презентации, небольшие кластеры |
Продуктовые кластеры, где вы контролируете каждую важную опцию |
Система координации |
ClickHouse Keeper внутри ADQMDB |
ZooKeeper или ClickHouse Keeper (как отдельный сервис или внутри ADQMDB) |
Коэффициент репликации |
Вы можете установить эту опцию; значение по умолчанию — 1 (без репликации) |
Вы можете установить эту опцию; значение по умолчанию — репликация до 3 |
Мониторинг |
ADMProm (один пароль), ADM или без мониторинга |
ADMProm (два пароля), ADM или без мониторинга |
Chproxy |
Не предлагается |
Опционально |
Настройки установки |
Минимум настроек — значения берутся на основе анализа хостов |
Путь к данным, прослушиваемые адреса, Chproxy, память, усиление безопасности хоста, часовой пояс |
Страница Profile содержит дерево Configuration со следующими полями:
-
Warnings — предупреждения, обнаруженные на шаге "Inspect hosts".
-
Hosts — системная информация о хостах, одна строка для каждого хоста, например
4 vCPU, 7.8 GiB RAM, 86 GiB free, Ubuntu 22.04, 10.92.38.3. -
Installation profile — вы можете выбрать одно из значений:
ExpressилиProduction. См. таблицу Сравнение профилей. -
Monitoring — система мониторинга. Возможные значения:
ADMProm,ADMиNone. Внутренние поля, специфичные для каждой системы, отображаются ниже. Node Exporter работает на каждом хосте с ADMProm и ADM. Значение по умолчанию —ADM, когда привязан кластер ADM, в противном случае —ADMProm. Если в кластере уже присутствует мониторинг, предлагается только опция, соответствующая ему.-
ADMProm — система мониторинга, включающая компоненты Prometheus, Grafana и Pushgateway.
-
Dedicated monitoring host — указывает хост для установки компонентов Prometheus, Grafana и Pushgateway. Поле появляется для кластеров с тремя и более хостами. Выделенный хост для мониторинга рекомендуется использовать, когда на хостах менее 16 ГиБ оперативной памяти.
-
-
ADM — VMAgent на двух хостах собирает метрики каждого хоста и отправляет их в кластер ADM (VictoriaMetrics), привязанный на вкладке Import; его компонент Grafana отображает дашборды. Чтобы использовать ADM, сначала установите кластер ADM, а затем импортируйте его в текущий кластер ADQM на вкладке Import. В результате на текущем шаге ADM будет выбран автоматически.
-
ADM write endpoint — поле только для чтения. Значение указывает конечную точку, куда VMAgent отправляет метрики, или отображает напоминание сначала привязать кластер ADM.
-
-
Шаг 3. Topology and services
Шаг 3.1. Choose topology
Настройки, отображаемые на этом шаге, зависят от выбранного профиля. Поля, отмеченные красным, обязательны для заполнения.
Таблица ниже содержит описание параметров, настраиваемых на этом шаге.
| Название | Профиль | Описание |
|---|---|---|
Coordination system |
Express, Production |
Хранит метаданные репликации и DDL. Express всегда использует ClickHouse Keeper внутри ADQMDB на первых трех хостах ADQMDB или на одном хосте в небольших кластерах. Production предлагает следующие варианты:
|
Replication factor |
Express, Production |
Количество реплик в каждом шарде. Предлагаются только значения, которые равномерно распределяют хосты ADQMDB. Например, для кластера с тремя хостами: |
Monitoring password |
Express с ADMProm |
Используется для администратора Grafana и для чтения Grafana метрик из Prometheus |
Grafana administrator password |
Production с ADMProm |
Используется для входа в веб-интерфейс Grafana. Пароль должен иметь минимальную длину 8 символов и не должен содержать специальные символы: |
Grafana data source password |
Production с ADMProm |
Используется Grafana для чтения метрик Prometheus. Пароль должен иметь минимальную длину 8 символов и не должен содержать специальные символы: |
Install Chproxy |
Production |
HTTP-прокси и балансировщик нагрузки для ADQMDB |
Шаг 3.2. Add services
На этом шаге нажмите Add services.
Wizard проверяет ваш выбор, добавляет сервисы в кластер и предлагает, где будет запускаться каждый компонент. Размещение компонентов можно проверить и изменить на следующем шаге.
Таблица ниже содержит сообщения об ошибках, которые могут возникнуть на этом шаге.
| Сообщение | Как исправить |
|---|---|
Replication factor N does not split M ADQMDB hosts into equal shards; … |
Выберите другой коэффициент репликации или измените количество хостов |
No host left for ADQMDB; … |
Добавьте хосты и проверьте их снова на шаге 1 или освободите выделенный хост мониторинга на шаге 2 |
Cluster has no hosts. Add them and inspect them again |
Хосты были удалены после шага 1. Добавьте хосты в кластер, откройте шаг 1, нажмите Discard changes, затем снова нажмите Inspect |
Dedicated monitoring host … is no longer in the cluster; … |
Выберите другой выделенный хост для мониторинга на шаге 2 |
ADM monitoring needs an ADM cluster to send metrics to, but none is bound. … |
Привяжите кластер ADM на вкладке Import кластера ADQM, затем в Wizard снова нажмите Add services |
Кластер ADM, привязанный на вкладке Import после выполнения шага 2, учитывается сразу: нажмите Add services еще раз. Существующие в кластере сервисы останутся без изменений — Wizard добавит только недостающие.
Шаг 4. Placement: Check placement
Wizard отображает стандартный интерфейс распределения компонентов и предлагает размещение компонентов кластера ADQM, описанное в таблице ниже.
| Компонент | Предлагаемые хосты |
|---|---|
ClickHouse Server |
Все хосты, кроме выделенного хоста мониторинга. Такие хосты являются хостами ADQMDB |
ClickHouse Keeper Server или ZooKeeper Server |
Первые три хоста ADQMDB или один в небольших кластерах |
Chproxy Proxy Server |
Первый хост ADQMDB |
Prometheus Server, Grafana, Pushgateway |
Только для ADMProm. Компоненты размещаются на выделенном хосте мониторинга. Если хост не выделен, компоненты распределяются по другим хостам |
VMAgent |
Только для ADM. Последние два хоста или единственный хост |
Node Exporter |
Все хосты |
Не размещается. Если вам нужен этот компонент, добавьте его на этом шаге |
Вы можете изменить предлагаемое размещение компонентов. Обратите внимание, что Wizard не проверяет изменения, сделанные на этом шаге. При изменении размещения компонентов необходимо соблюдать следующие правила:
-
Сохраняйте ClickHouse Server на всех хостах ADQMDB. Их количество должно быть кратно коэффициенту репликации.
-
Сохраняйте нечетное количество серверов ClickHouse Keeper или ZooKeeper.
Шаг 5. Settings
На этом шаге вы можете задать параметры доступа и установки кластера ADQM.
Шаг 5.1. Access
Шаг позволяет указать настройки пользователя default для ADQMDB, которые описаны в таблице ниже.
| Название | Описание | Значение по умолчанию |
|---|---|---|
Password |
Пароль пользователя |
Не задан |
Allowed addresses |
Адреса или подсети, с которых разрешено подключение. Поле отображается, если активен переключатель Advanced |
|
Шаг 5.2. Installation settings
Если вы используете профиль установки Express, на этом шаге отображаются только значения, которые будет использовать Wizard: Data path, Memory limit per query и Mark cache. Вы не можете изменить эти значения.
Для профиля Production вы можете указать настройки, описанные в таблице ниже.
| Название | Описание | Значение по умолчанию |
|---|---|---|
Data path |
Каталог данных ADQMDB для хранения временных файлов, пользовательских файлов и данных доступа. Во всплывающей подсказке (отображается при наведении на поле) показывается доступное дисковое пространство |
Предлагаемое значение, рассчитанное на основе анализа диска, см. Предлагаемые значения |
Listen address |
Адреса, которые прослушивают ADQMDB, ClickHouse Keeper и Chproxy. Вы можете задать один из следующих вариантов:
|
|
ClickHouse Keeper directories |
|
|
Chproxy |
Задает следующие параметры для Chproxy:
Пользователю |
|
Memory |
Задает значения |
Предлагаемое значение, рассчитанное на основе доступной оперативной памяти, см. Предлагаемые значения |
Host hardening |
Позволяет отключить SELinux и firewalld. Поле отображается, если активен переключатель Advanced |
|
Time zone |
Часовой пояс ADQMDB |
|
Wizard предлагает значения параметров на основе анализа хостов кластера. Выделенный хост мониторинга не учитывается. В таблице ниже описано, как Wizard выбирает предлагаемые значения.
| Значение | Как выбирается |
|---|---|
Data path |
/var/lib/clickhouse/, но, если на каждом хосте ADQMDB есть один и тот же отдельный диск данных со значительно большим свободным пространством: как минимум в 1,5 раза больше, чем требуется для расположения по умолчанию, используется путь вида |
Memory limit per query |
Половина наименьшего значения оперативной памяти хоста ADQMDB |
Mark cache |
Одна восьмая наименьшего значения оперативной памяти хоста ADQMDB, но не более 5 ГиБ |
Listen subnet |
Подсеть, общая для всех хостов |
Address per host |
Основной адрес каждого хоста |
Chproxy allowed networks |
Подсети всех хостов |
Отдельный диск данных учитывается, только если он:
-
является локальным записываемым диском объемом не менее 10 ГиБ с распространенной файловой системой Linux (ext4, xfs, btrfs и подобными);
-
смонтирован вне системных каталогов, таких как /, /boot, /home, /tmp, /usr, /var или /mnt.
В таблице ниже приведены примеры расчета памяти.
| RAM хоста | Memory limit per query | Mark cache |
|---|---|---|
3.8 ГиБ (4 ГБ) |
1.75 ГиБ |
0.25 ГиБ |
7.8 ГиБ (8 ГБ) |
3.75 ГиБ |
0.75 ГиБ |
15.6 ГиБ (16 ГБ) |
7.75 ГиБ |
1.75 ГиБ |
62.8 ГиБ (64 ГБ) |
31.25 ГиБ |
5 ГиБ |
Шаг 5.3. Apply
На этом шаге Wizard повторно проверяет настройки и хосты, затем применяет размещение компонентов и сохраняет настройки в конфигурации кластера и сервисов. Хосты пока остаются без изменений.
Проверка хостов должна подтвердить следующее:
-
Порты, необходимые для каждого компонента, свободны или уже используются ADQM.
-
Каталоги данных пусты.
-
На каждом хосте ClickHouse Server доступно не менее 2 ГиБ свободного пространства для данных.
Нажмите Apply, чтобы запустить операции текущего шага.
Если Apply завершается с ошибкой, откройте задачу (job) и найдите список проблем в конце лога. Если требуется изменить какую-либо настройку, нажмите Discard changes на шаге Installation settings — введенные вами значения будут отображены. Исправьте значение, а затем нажмите Next step и снова Apply.
Если проблема на хосте, например занят необходимый порт, исправьте проблему и снова нажмите Apply.
| Сообщение | Как исправить |
|---|---|
Port N is taken by …; … needs it. |
Остановите программу или сервис на хосте или измените порт компонента |
… is not empty; installation needs an empty directory. |
Очистите каталог или выберите другой путь |
Only N GiB free for …; at least 2 GiB is needed. |
Задайте значение |
… is not an address or subnet. / … is not an IP address. / … is not in CIDR notation … |
Исправьте адрес, подсеть или сетевые настройки, которые вы ввели |
No listen address for host …, and fallback to default interface is off. |
Добавьте адрес хоста или активируйте настройку Fallback to default interface |
Data path … must be absolute. / ClickHouse Keeper directory … must be absolute |
Используйте полный путь, начинающийся с |
No network may use Chproxy; … |
Добавьте хотя бы одну разрешенную сеть для Chproxy |
Not checked: host is unavailable, for example, in maintenance mode |
Выведите хост из режима обслуживания или проверьте, что он запущен |
Шаг 6. Review: Summary
На этом шаге отображается сводная нередактируемая информация, распределенная на три группы:
-
Cluster — отображает профиль, хосты, сервисы, систему координации, коэффициент репликации, настройки пользователя
default, источник пакетов, результаты проверки, мониторинг (с выделенным хостом или конечной точкой записи ADM) и Ansible forks — количество хостов, на которых одновременно выполняется установка, с рекомендуемым значением, если текущее значение слишком низкое. -
Placement — отображает, какие хосты запускают каждый компонент.
-
Settings — отображает путь к данным и размер памяти, а для профиля Production — часовой пояс, адрес прослушивания, значения параметров
Host hardening,ClickHouse Keeper directoriesиChproxy.
Чтобы изменить любую настройку, вернитесь к соответствующему шагу.
Шаг 7. Preparing for running
На этом шаге можно опционально добавить описание, а затем запустить установку кластера, нажав Run.
В результате успешной установки состояние кластера, отображаемое в поле State на странице Clusters, изменится с created на installed.
Если установка завершилась с ошибкой, можно просмотреть подробные сведения о возникших проблемах, нажав на соответствующую задачу на странице Jobs. Устраните проблемы, а затем выполните действие Install для кластера. Параметры размещения компонентов и настройки, заданные в Wizard, сохраняются и будут использованы при выполнении действия Install.
Скорость установки
ADCM выполняет установку на нескольких хостах одновременно. Количество таких хостов определяется настройкой кластера forks. По умолчанию это значение равно 5. Если хостов больше, чем задано в параметре forks, каждый шаг установки выполняется поэтапно: например, при наличии 10 хостов и значении forks, равном 5, выполнение шагов установки на хостах займет примерно в два раза больше времени.
Чтобы изменить значение forks, перейдите на вкладку Configuration кластера ADQM. Параметр forks находится на вкладке Ansible settings. См. Настройка кластера.
Если значение forks меньше количества хостов, на шаге 2 (Profile: Choose profile) отображается предупреждение с рекомендацией по установке нужного значения. На шаге 6 (Review: Summary) параметр Ansible forks показывает значение, которое будет использоваться при установке.
Предлагаемое значение forks равно количеству хостов, но не более 20. Значение, превышающее количество хостов, не изменит скорость установки. Каждый fork — это процесс на хосте ADCM. Новое значение forks применяется к следующей задаче (job), даже если установка уже выполняется. Вам не нужно запускать Wizard заново.
Предупреждение на шаге 2 остается до повторного запуска Inspect hosts. Чтобы обновить параметр Ansible forks, отображаемый на шаге 6, откройте шаг 5.3 (Apply), нажмите Discard changes, затем снова нажмите Apply.