Работа с артефактами
Для корректной работы Hadoop (MWS Data Slon) необходимо настроить выгрузку артефактов. К ним относятся RPM-пакеты, установочные скрипты, исполняемые JAR-файлы различных сервисов, PIP-пакеты и другие файлы.
По умолчанию поддерживается установка соответствующего пакета из его официального репозитория. Однако при желании можно настроить собственное зеркало (Artifactory, Nexus и др.) и использовать его.
Остановимся более подробно на конкретных артефактах, необходимых для корректной работы Hadoop (MWS Data Slon).
Конфигурация RPM-репозиториев
Настройки на уровне кластера (пример см. в файле common.yml)
# Переменная, отвечающая за конфигурацию RPM-репозиториев
# Данный параметр изменяет настройки по умолчанию в файле roles/doh-prepare/defaults/main.yml
rpm_repository__configure: true
# URL-адрес репозитория RPM, который будет использоваться для установки пакетов.
# Данный параметр изменяет настройки по умолчанию в файле roles/doh-prepare/defaults/main.yml
rpm_repository__url: https://artifactory.example.com/doh-hadoop-rpm-local
# URL-адрес репозитория EPEL (Extra Packages for Enterprise Linux) с дополнительными пакетами, которые не включены в стандартный пакет корпоративного Linux.
# Данный параметр изменяет настройки по умолчанию в файле roles/doh-prepare/defaults/main.yml
rpm_repository__epel_url: http://artifactory.example.com/yum.proxy
Настройки на уровне роли Ansible (файл roles/doh-prepare/defaults/main.yml)
# Переменная, отвечающая за конфигурацию RPM-репозиториев
rpm_repository__configure: true
# URL-адрес репозитория RPM, который будет использоваться для установки пакетов.
rpm_repository__url: https://download.copr.fedorainfracloud.org/artifactory
# URL-адрес репозитория EPEL (Extra Packages for Enterprise Linux) с дополнительными пакетами, которые не включены в стандартный пакет корпоративного Linux.
rpm_repository__epel_url: https://dl.fedoraproject.org/pub
Конфигурация PIP-пакетов
Настройки на уровне кластера (пример см. в файле common.yml)
# Переменная, отвечающая за конфигурацию PIP
pip_conf_configure: false
# URL-адрес источника индекса пакетов Python (PyPI), который pip будет использовать для поиска пакетов.
# Значением по умолчанию является официальный PyPI: https://pypi.org/simple.
pip_index_url: https://artifactory.example.com/artifactory/pip/
# Если вы хотите использовать дополнительные источники PyPI, укажите их URL-адреса.
# Значение должно быть null, если вы не хотите использовать extra-index-url.
# Пример установки значения: pip_extra_index_url: 'http://mirror.example.com'
# Чтобы исключить дополнительный индексный URL: pip_extra_index_url: []
pip_extra_index_url: https://artifactory.example.com/artifactory/pypi
# Укажите доверенные хосты, с которых pip сможет безопасно загружать пакеты, минуя проверку SSL.
# Это полезно для частных репозиториев или зеркал PyPI.
pip_trusted_host: artifactory1.example.com artifactory2.example.com
Артефакты, необходимые для работы Hive
Настройки на уровне кластера (пример см. в файле hive.yml)
# URL-адрес для загрузки драйвера JDBC для PostgreSQL, который используется Hive для взаимодействия с базой данных PostgreSQL.
# Данный параметр изменяет настройки по умолчанию в файле roles/hive/defaults/main.yml
hive__postgresql_jdbc_artifact_url: "https://artifactory.example.com/artifactory/hdp-files-hadoop-generic-local/postgresql-42.2.27.jre7.jar"
# URL-адрес загружаемого артефакта Tez, который будет использоваться в процессе настройки Hive.
# Данный параметр изменяет настройки по умолчанию в файле roles/hive/defaults/main.yml
hive__tez_artifact_url: "https://artifactory.example.com/artifactory/hdp-files-hadoop-generic-local/hadoop/tez.tar.gz"
Настройки на уровне роли Ansible (файл roles/hive/defaults/main.yml)
# URL-адрес для загрузки JDBC-драйвера PostgreSQL
hive__postgresql_jdbc_artifact_url: "http://artifactory.example.com/postgresql-jdbc.jar"
# URL-адрес для загрузки архива Tez's jars
hive__tez_artifact_url: "https://artifactory.example.com/tez.tar.gz"
Артефакты, необходимые для работы Ranger
Настройки на уровне кластера (пример см. в файле ranger.yml)
# URL-адрес артефакта, содержащего драйвер JDBC PostgreSQL, который Ranger использует для взаимодействия с базами данных PostgreSQL.
# Данный параметр изменяет настройки по умолчанию в файле roles/ranger/defaults/main.yml
ranger__postgresql_jdbc_artifact_url: "https://artifactory.example.com/hdp-files-hadoop-generic-local/postgresql-42.2.27.jre7.jar"
Настройки на уровне роли Ansible (файл roles/ranger/defaults/main.yml)
# URL-адрес для загрузки JDBC-драйвера PostgreSQL
ranger__postgresql_jdbc_artifact_url: "http://artifactory.example.com/postgresql-jdbc.jar"
Артефакты, необходимые для работы Spark
Настройки на уровне кластера (пример см. в файле spark.yml)
# URL-адрес для загрузки архива spark-yarn jars
# Данный параметр изменяет настройки по умолчанию в файле roles/spark/defaults/main.yml
spark__yarn_jars_artifact_url: "https://artifactory.example.com/spark_yarn_jars_archive.zip"
Настройки на уровне роли Ansible (файл roles/spark/defaults/main.yml)
# URL-адрес для загрузки архива spark-yarn jars
spark__yarn_jars_artifact_url: "https://artifactory.example.com/spark_yarn_jars_archive-{{ spark__version }}.zip"