Установка

Процесс загрузки необходимых файлов из репозитория

Docker сам загружает Docker images из Registry. Для этого с серверов необходимо иметь доступ до Docker Hub и до нашего Docker Registry по адресу gitlab.directual.com:5005. Для установки стека Hadoop мы используем Ambari и их же репозитории: Ambari, HDP, HDP-UTIL.

Компоненты платформы

Component

Playbook

RAM

web-ui

webservers.yml

4GB

delay-processor

delay-processor.yml

4GB

operations

operations.yml

4GB

processor

processor.yml

4GB

distributor

distrubutor.yml

4GB

Процесс установки

Заполнить inventory файл (это может быть hosts.ini или другой файл): Заполнить полный список хостов всех машин, присвоить значения переменным для этого списка. Выполнение bootstrap.yml проставляет необходимые опции (таймзоны и т.д.), добавляет ssh ключи, подготавливая сервера к установке Hadoop и компонентов платформы. На серверы, которые выделены в группу Hadoop, bootstrap.yml подтягивает необходимые зависимости: JDK, libtirpc-devel, а на машины в группе Docker ставит Docker и применяет к нему его параметры (ограничение размера лога контейнера, настройки proxy сервера) и подтягивает зависимости policycoreutils-python, libcgroup, libseccomp. Развернуть Hadoop (HBase, Kafka, ZooKeeper) на машины, определённые в inventory файле. В последовательности, указанной ниже, выполнять плейбуки:

  1. webservers.yml

  2. delay-processor.yml

  3. operations.yml

  4. processor.yml

  5. distrubutor.yml Во всех плейбуках при их выполнении необходимо передавать extra variable (-e "version=1.2.3") Нужную версию можно посмотреть в Release notes Побить топики в Kafka на partitions. Интерфейс web-ui доступен на машине, на которой расположен соответствующий модуль, на порту 8080. Указать лицензию и войти через дефолтный админский аккаунт (за лицензионным ключом, логином и паролем нужно обратиться к сотруднику Directual) После успешного входа под администратором нужно создать обычного пользователя. В нём создать REST API интеграцию - платформа сгенерирует APP_ID и APP_SECRET и его нужно добавить в inventory файл.

Настройка фронта

В inventory файле указать в API_TOKEN значение полученного APP_ID и в API_PASSWORD - APP_SECRET, полученные выше. Запустить выполнение playbook front-app.yml. API URL вычисляется автоматически.