Установка ADS¶
Important
Полная документация по продукту Arenadata Streaming (ADS) приведена по ссылке.
Предварительные шаги¶
Для установки кластера ADS посредством ADCM необходимо выполнить следующие предварительные шаги:
- Установить ADCM.
- Проверить настройки ADCM:
- Перейти во вкладку “Settings”;
- Проверить на корректность определившийся автоматически URL и при необходимости заменить его на исправный (Рис.25.).

Рис. 25. Проверка настроек ADCM
Important
Каждый компонент сервиса кластера имеет возможность отсылать статусную информацию о своем состоянии (keep alive) процессу ADCM в докер-контейнере
В ряде случаев ADCM может оказаться за NAT, и тогда исключается очевидный вариант автоматического определения его адреса, видимого со стороны сервисного компонента на хосте кластера. Поэтому данный адрес указывается вручную. Во время установки ADS адрес ADCM используется для заполнения конфигурации компонентов, отвечающих за передачу статусной информации.
- Создать хосты для кластера ADS:
- Загрузить выбранный бандл хоста. В текущем примере используется бандл SSH;
- Инициализировать необходимое количество хостов (в текущем примере данный шаг пропускается, так как используются готовые хосты, а не облачный провайдер);
- Добавить хосты в ADCM. В текущем примере используется 4 хоста: для Zookeeper (zk), для Kafka брокеров (kafka1 и kafka2), для Nifi (nifi).
- (Опционально) Создать кластер мониторинга:
- Загрузить бандл мониторинга;
- Создать экземпляр кластера мониторинга и установить его.
- (Опционально) Для установки без доступа к сети Интернет (offline):
- Запросить дистрибутив Arenadata Enterprise Tools;
- Развернуть Arenadata Enterprise Tools на выделенном хосте.
Загрузка бандла ADS¶
Загрузка бандла ADS необходима для создания в ADCM прототипа кластера, из которого в дальнейшем возможно создание его экземпляров.
Для загрузки бандла следует выполнить следующие действия:
- Открыть в ADCM вкладку “BUNDLES” (Рис.26.).

Рис. 26. Вкладка “BUNDLES”
- Нажать “Upload bundle” и в открывшейся форме выбрать файл бандла ADS (Рис.27.).

Рис. 27. Выбор бандла
- После успешной загрузки бандла необходимо принять лицензионное соглашение (Рис.28.).

Рис. 28. Лицензионное соглашение
- В результате выполненных действий факт успешной загрузки отображается в общем списке бандлов на вкладке “BUNDLES” (Рис.29.).

Рис. 29. Результат успешной загрузки бандла
Создание кластера ADS¶
После выполнения пунктов Предварительные шаги и Загрузка бандла ADS в кластер-менеджере ADCM содержится следующий список объектов (Рис.30.):
- Прототип кластера мониторинга и созданный на его основе экземпляр (программа мониторинга развернута на хосте, ADCM содержит записи о его результатах и настройках);
- Прототип кластера ADS для создания экземпляров;
- Предварительно подготовленные хосты, в базе данных ADCM хранятся записи о них и их учетных данных – ssh-ключах или паролях.

Рис. 30. Список объектов в ADCM
Объектам доступен следующий функционал:
- Создание экземпляра кластера;
- Конфигурация кластера;
- Добавление хостов;
- Добавление сервисов;
- Размещение компонентов сервисов на хостах;
- Установка кластера.
Создание экземпляра кластера¶
При создании кластера в веб-интерфейсе ADCM генерируется новый экземпляр кластера ADS, что означает только добавление данных о нем в базу данных ADCM – на этом этапе не производится установка ADS на хосты.
- Открыть в ADCM вкладку “CLUSTERS” (Рис.31.).

Рис. 31. Вкладка “CLUSTERS”
- Нажать “Create cluster” и в открывшейся форме создать экземпляр кластера из прототипа ADS, полученного из бандла (Рис.32.).

Рис. 32. Создание экземпляра кластера
- В результате выполненных действий факт создания экземпляра кластера отображается в базе данных ADCM на вкладке “CLUSTERS” (Рис.33.).

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

Рис. 34. Окно конфигурации кластера
В блоке RedHat repos указываются требуемые для установки ADS пакеты из различных yum-репозиториев.
В блоке AltLinux repos указываются требуемые для установки ADS пакеты из различных apt-репозиториев.
При этом в каждом из параметров можно изменить заданный по умолчанию url:
- ADS;
- monitoring;
- Zookeeper.
Important
При установке в окружении без доступа к сети Интернет (offline) необходимо предварительно развернуть кластер Arenadata Enterprise Tools и импортировать настройки HTTP Mirorr
В таком случае настройки offline-репозиториев применяются автоматически. Для этого на странице кластера ADS необходимо перейти на вкладку Import и выбрать сервис http кластера Enterprise Tools (Рис.35.). Альтернативно, в эти поля можно указать url локальных репозиториев с необходимыми пакетами.

Рис. 35. Импорт конфигурации сервиса http
Important
Arenadata Enterprise Tools предоставляет локальную копию только репозиториев Arenadata Streaming и Arenadata Monitoring. Доступ к репозиториям CentOS должен быть организован отдельно
Добавление хостов¶
Для добавления хостов в кластер ADS необходимо:
- В меню кластера ADS открыть вкладку “Hosts” (Рис.36.).

Рис. 36. Вкладка “Hosts” кластера ADS
- Нажать “Add hosts” и в открывшейся форме выбрать необходимые хосты (Рис.37.).

Рис. 37. Выбор хостов
- В результате выполненных действий факт добавления хостов отображается в кластере ADS в списке вкладки “Hosts” (Рис.38.).

Рис. 38. Результат успешного добавления хостов
Добавление сервисов¶
Important
На текущий момент невозможно удалить из кластера уже добавленный сервис
Кластер ADS содержит следующие сервисы:
Сервис | Компоненты | Описание |
---|---|---|
Zookeeper | Zookeeper Server | Сервис, предназначенный для хранения конфигураций, выполнения распределенной синхронизации процессов |
Kafka | Kafka Broker | Распределенная платформа для потоковых операций и данных |
Nifi | Nifi Server, Nifi Registry | Распрделенная платформа, предназначенная для построения и автоматизации потоков данных между различными системами |
Schema-registry | Schema-registry | Сервис предоставляет обслуживающий слой для метаданных. Предоставляет интерфейс RESTful для хранения и извлечения схем Avro. Хранит версионную историю всех схем, предоставляет несколько параметров совместимости и позволяет изменять схемы в соответствии с настроенными параметрами совместимости и расширенной поддержкой Avro. Предоставляет сериализаторы, подключаемые к клиентам Kafka, которые обрабатывают хранение и извлечение схемы для сообщений Kafka, отправляемых в формате Avro |
Kafka REST Proxy | Kafka REST Proxy | Предоставляет RESTful-интерфейс для кластера Kafka, что упрощает создание и потребление сообщений, просмотр состояния кластера и выполнение административных действий без использования собственного протокола Kafka или клиентов |
KSQL | KSQL Server, KSQL Client | Сервис представляет собой потоковый SQL-движок с открытым исходным кодом, который обеспечивает обработку данных в реальном времени с использованием Apache Kafka. Состоит из компонентов: Server; Client |
Kafka-Manager | Kafka-Manager | Инструмент для управления Apache Kafka |
MiNifi | MiNiFi C2 Server, MiNiFi Agent | Агент для сбора и отсылки данных, который пополняет основные принципы NiFi в управлении потоками данных, уделяя особое внимание сбору данных у их источника |
Monitoring Clients | System metrics Agent, JMX metrics Collector | Агенты, отсылающие информацию о хосте и сервисах в мониторинг |
Не все сервисы являются обязательными для установки. Например, если не планируется использование Nifi, то нет необходимости добавлять сервис. Или в случае, когда применяется сервис мониторинга (не на базе Graphite), незачем ставить агенты из Monitoring Clients. Однако, если планируется использование Kafka, одноименный сервис и Zookeeper обязательны, то же самое можно сказать и про сервис Nifi. При этом сервис может состоять из обязательных и необязательных компонентов. Например, сервис KSQL состоит из обязательного компонента Server и необязательного – Client.
Для добавления сервисов в кластер ADS необходимо:
- В меню кластера ADS открыть вкладку “Services”.
- Нажать “Add service” и в открывшейся форме выбрать необходимые сервисы (Рис.39.).

Рис. 39. Выбор сервисов для кластера ADS
В настоящем примере в кластер добавлены все сервисы, подробное описание конфигурации которых приведено по следующим ссылкам:
- Настройка сервиса Zookeeper;
- Настройка сервиса Kafka;
- Настройка сервиса Nifi;
- Настройка сервиса Schema-registry.
- Настройка сервиса Kafka REST Proxy;
- Настройка сервиса KSQL;
- Настройка сервиса Kafka-Manager;
- Настройка сервиса MiNifi;
- Настройка сервиса Monitoring Clients.
Особенности сервиса Monitoring Clients¶
Сервис Monitoring Clients требует импорта конфигурационных параметров кластера мониторинга (адрес, логин/пароль) при добавлении в кластер ADS.
Для импорта конфигурации мониторинга необходимо в кластере ADS выбрать вкладку Import и отметить импортируемые настройки сервисов (Рис.40.).

Рис. 40. Импорт конфигурации мониторинга
Размещение компонентов сервисов на хостах¶
Каждый сервис состоит из обязательных компонентов, которые должны быть размещены на хостах кластера, и необязательных, которые могут быть не размещены. Для размещения компонентов необходимо на вкладке “Hosts - Components” выбрать компонент в колонке “Components” и определить для него необходимый хост в колонке “Hosts” (Рис.41.).

Рис. 41. Размещение компонентов сервисов на хостах
Поскольку все сервисы добавлены в кластер ADS, но еще не размещены на хостах, то изначально ни на одном из хостов нет компонентов.
В качестве примера на Рис.42. показаны компоненты cервиса Nifi, размещенные на хосте nifi:
- Nifi Server – необходимо добавить на один или более хостов (возможна кластерная конфигурация);
- Nifi Registry – необходимо добавить ровно на один хост.

Рис. 42. Компоненты сервиса Nifi
Установка кластера¶
Important
В случае если добавлен сервис Monitoring Clients, необходимо импортировать настройки из кластера Monitoring (см. Особенности сервиса Monitoring Clients)
На данном этапе все хосты подготовлены и можно приступать к установке сервисов кластера:
Установка всех сервисов кластера¶
Для установки всех добавленных сервисов в кластере ADS необходимо выбрать соответствующий кластер в ADCM и выполнить действие Install (Рис.43.).

Рис. 43. Установка всех сервисов кластера
В появившемся диалоговом окне предоставляется выбор опций (Рис.44.):
- Disable SELinux before cluster installation – отключение SELinux на добавляемых хостах. Для того, чтобы данная настройка применилась, после завершения операции Install необходимо перезагрузить хосты вручную;
- Disable Firewalld before cluster installation – выключение firewalld на хостах;
- Install OpenJDK before cluster installation – установка пакета java-1.8.0-openjdk на хостах;
- Set vm.swappiness to 0 for all hosts – отключение swapping на хостах;
- Append hosts into /etc/hosts file before cluster installation – запись добавляемых нод в /etc/hosts на хостах кластера. Данную опцию рекомендуется отключить, если настроен DNS.

Рис. 44. Доступные при кластерной установке настройки
По результатам установки все добавленные сервисы меняют состояние с created на installed – установлен (Рис.45.).

Рис. 45. Состояние сервисов кластера
Для запуска кластера необходимо нажать кнопку Start.
Установка сервиса в проинсталлированный кластер¶
В ADCM предусмотрена возможность добавления нового сервиса в уже работающий кластер. Для этого сервис необходимо добавить и произвести его установку. Например, для установки сервиса Kafka в проинсталлиованный кластер необходимо:
- В меню кластера ADS открыть вкладку “Services”, нажать “Add service” и в открывшейся форме выбрать сервис Kafka;
- В строке сервиса Kafka в поле “Actions” нажать на пиктограмму и выбрать действие Install;
- По результатам инсталляции сервис Kafka меняет состояние с created – создан, на installed – установлен.