Skip to content

Формирование inventory

Для запуска Ansible-ролей установки и конфигурации Hadoop (MWS Data Slon) необходимо правильно подготовить inventory кластера. В нем должны содержаться сведения о всех хостах, необходимые переменные и параметры.

Пример правильно подготовленного inventory расположен по пути cluster_example/inventory. Остановимся на его составляющих.

Список хостов NameNode

Располагается в файле namenode.yml.

Указываются хосты, на которых необходимо установить и сконфигурировать компонент HDFS NameNode с помощью роли hadoop.

Список хостов Zookeeper Failover Controller

Располагается в файле zkfailovercontroller.yml.

Указываются хосты, на которых необходимо установить и сконфигурировать клиент Zookeeper Failover Controller (ZKFC), управляющий состоянием NameNode. Данный inventory-файл применяется в роли hadoop.

Список хостов DataNode

Располагается в файле datanode.yml.

Указываются хосты, на которых необходимо установить и сконфигурировать компонент HDFS DataNode с помощью роли hadoop.

Имеет следующие дополнительные параметры:

# Номер стойки, на которой установлен сервер в датацентре. Служит для более надежной репликации между нодами
_rack: AAAAAA

# Число гридов (дисков, предназначенных для хранения данных HDFS)
hadoop__datanode_grid_count: 18

# Статус, выведена ли datanode из эксплуатации
decommissioned: no

Список хостов JournalNode

Располагается в файле journalnode.yml.

Указываются хосты, на которые необходимо установить и сконфигурировать компонент для обеспечения высокой доступности и отказоустойчивости HDFS JournalNode с помощью роли hadoop.

Список хостов ResourceManager

Располагается в файле resourcemanager.yml.

Указываются хосты, на которые необходимо установить и сконфигурировать компонент YARN ResourceManager с помощью роли hadoop.

Список хостов NodeManager

Располагается в файле nodemanager.yml.

Указываются хосты, на которые необходимо установить и сконфигурировать компонент YARN NodeManager с помощью роли hadoop.

Список хостов YARN Timeline Server

Располагается в файле timelineserver.yml.

Указываются хосты, на которые необходимо установить и сконфигурировать компонент YARN Timeline Server с помощью роли hadoop.

Список серверов Hive

Располагается в файле hiveserver.yml.

Указываются хосты, на которые необходимо установить и сконфигурировать HiveServer с помощью роли hive.

Список хостов Hive Metastore (HMS)

Располагается в файле hivemetastore.yml.

Указываются хосты, на которые необходимо установить и сконфигурировать Hive Metastore с помощью роли hive.

Список хостов Tez

Располагается в файле tez.yml.

Указываются хосты, на которые необходимо установить и сконфигурировать Apache Tez с помощью роли hive.

Список хостов Ozone Datanode

Располагается в файле ozonedatanode.yml.

Указываются хосты, на которые необходимо установить и сконфигурировать компонент Ozone Datanode с помощью роли ozone.

Список хостов Ozone Manager

Располагается в файле ozonemanager.yml.

Указываются хосты, на которые необходимо установить и сконфигурировать компонент Ozone Manager с помощью роли ozone.

Список хостов Ozone Recon

Располагается в файле ozonerecon.yml.

Указываются хосты, на которые необходимо установить и сконфигурировать компонент Ozone Recon с помощью роли ozone.

Список хостов Ozone Storage Container Manager (SCM)

Располагается в файле ozonescm.yml.

Указываются хосты, на которые необходимо установить и сконфигурировать компонент Ozone SCM с помощью роли ozone.

Список хостов ZooKeeper

Располагается в файле zookeeper.yml.

Указываются хосты, на которые необходимо установить и сконфигурировать компонент Apache ZooKeeper с помощью роли zookeeper.

Список хостов Ranger Admin UI

Располагается в файле rangeradmin.yml.

Указываются хосты, на которые необходимо установить и сконфигурировать панель управления доступами Ranger Admin с помощью роли ranger.

Список хостов Ranger User Sync

Располагается в файле rangerusersync.yml.

Указываются хосты, на которые необходимо установить и сконфигурировать компонент синхронизации импортированных пользователей и групп Ranger User Sync с помощью роли ranger.

Список хостов MapReduce History Server

Располагается в файле historyserver.yml.

Указываются хосты, на которые необходимо установить и сконфигурировать MapReduce History Server с помощью роли hadoop.

Список хостов Spark History Server

Располагается в файле sparkhistory.yml.

Указываются хосты, на которые необходимо установить и сконфигурировать Spark History Server с помощью роли spark.

Список хостов HAProxy

Располагается в файле haproxy.yml.

Указываются хосты, на которых установлен балансировщик HAProxy для обеспечения высокой доступности (High Availability) кластера. Необходимо наличие виртуального IP-адреса (VIP), который задается в файле inventory/group_vars/haproxy/common.yml.

Список хостов keepalived

Располагается в файле keepalived.yml.

Указываются хосты, на которых необходимо сконфигурировать отказоустойчивое подключение к компонентам Hadoop с помощью роли keepalived.

Список хостов, временно исключенных из inventory

Располагается в файле skip_hosts.yml.

Указываются хосты, которые временно выведены из кластера, и на которых не должны выполняться никакие стадии пайплайнов установки и настройки.

Раздел кластерных переменных (group_vars)

Общекластерные переменные

Располагаются в файле all/common.yml.

Данный файл служит для указания внешних зависимостей (Kerberos, LDAP/AD, PostgreSQL и др.), места хранения артефактов (RPM-пакеты, PIP-пакеты) и других переменных, общих для всех компонентов разворачиваемого кластера.

Переменные Filebeat

Располагаются в файле all/filebeat.yml.

Здесь указываются переменные, необходимые для работы доставщика лог-сообщений Filebeat.

Переменные компонента Hadoop Distributed File System (HDFS)

Располагаются в файле all/hdfs.yml.

В данном файле указываются различные параметры для оптимизации работы HDFS.

Переменные компонента Apache Hive

Располагаются в файле all/hive.yml.

В данном файле указываются места хранения артефактов и другие параметры, необходимые для корректной работы Hive, а также включается режим High Availability этого компонента.

Переменные Logstash

Располагаются в файле all/logstash.yml.

Здесь указываются переменные, необходимые для работы конвейера по парсингу данных Logstash.

Переменные компонента MapReduce

Располагаются в файле all/mapreduce.yml.

В данном файле указываются различные параметры для оптимизации работы MapReduce.

Переменные компонента Apache Ranger

Располагаются в файле all/ranger.yml.

Данный файл служит для указания параметров групп Active Directory, с которыми будет работать Ranger, а также месторасположения JDBC-драйвера.

Переменные компонента Apache Spark

Располагаются в файле all/spark.yml.

В данном файле указываются различные параметры для оптимизации работы Spark.

Переменные компонента Apache Tez

Располагаются в файле all/tez.yml.

В данном файле указываются различные параметры для оптимизации работы Tez.

Переменные компонента Hadoop YARN

Располагаются в файле all/yarn.yml.

В данном файле указываются различные параметры для оптимизации работы Hadoop YARN. Также здесь осуществляется управление очередями и устанавливается соответствие между очередью и группой пользователей AD/LDAP, в нее входящей.

Переменные HAProxy

Располагаются в файле haproxy/common.yml.

В данном файле указываются Virtual IP для обеспечения High Availability кластера и другие переменные для роли keepalived.