Формирование 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.