Apache Ranger Установка: Пошаговая Настройка и Конфигурация | AdminWiki

Apache Ranger: Полное Руководство по Установке и Настройке в Production

18 декабря 2025 7 мин. чтения #Apache Ranger #Hadoop Security #Ranger Admin #Ranger Plugins #big data #devops #Установка Ranger

Представь, что тебе нужно централизованное управление политиками безопасности для всей твоей Hadoop-экосистемы: HDFS, Hive, HBase, Kafka и других компонентов. Apache Ranger — это именно тот инструмент, который решает эту задачу. Давай разберем пошаговый процесс его установки, от подготовки окружения до запуска плагинов.

Важно: Эта инструкция рассчитана на установку Ranger 2.4.0 на CentOS/RHEL 7+. Для других версий пути и конфигурации могут отличаться.

Подготовка Окружения Перед Установкой Apache Ranger

Перед тем как начать установку Apache Ranger, убедись, что у тебя есть следующие компоненты:

  • Java 8 или 11 (OpenJDK или Oracle JDK)
  • База данных (MySQL 5.7+, PostgreSQL 9.6+ или Oracle)
  • Python 2.7 или 3.x (для некоторых скриптов)
  • Доступ к интернету для загрузки дистрибутивов или локальный репозиторий

Шаг 1: Установка и Настройка Базы Данных

Apache Ranger требует базу данных для хранения своих метаданных. Мы будем использовать MySQL как наиболее распространенный вариант.

bash
# Установка MySQL (если еще не установлен)
sudo yum install -y mysql-server mysql-connector-java

# Запуск и настройка автозагрузки
sudo systemctl start mysqld
sudo systemctl enable mysqld

# Настройка пароля root (выполнить после установки)
sudo mysql_secure_installation

# Создание базы данных и пользователя для Ranger
mysql -u root -p

CREATE DATABASE ranger;
CREATE USER 'rangeradmin'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON ranger.* TO 'rangeradmin'@'localhost';
CREATE USER 'rangeradmin'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON ranger.* TO 'rangeradmin'@'%';
FLUSH PRIVILEGES;
EXIT;

Шаг 2: Загрузка и Распаковка Apache Ranger

bash
# Создаем рабочую директорию
sudo mkdir -p /opt/ranger
sudo chown $(whoami):$(whoami) /opt/ranger
cd /opt/ranger

# Загружаем Apache Ranger (или копируем из локального источника)
wget https://downloads.apache.org/ranger/2.4.0/apache-ranger-2.4.0.tar.gz

# Проверяем целостность
wget https://downloads.apache.org/ranger/2.4.0/apache-ranger-2.4.0.tar.gz.asc
wget https://downloads.apache.org/ranger/2.4.0/apache-ranger-2.4.0.tar.gz.sha512
sha512sum -c apache-ranger-2.4.0.tar.gz.sha512

# Распаковываем
tar -xzvf apache-ranger-2.4.0.tar.gz
cd apache-ranger-2.4.0

Установка Ranger Admin Server

Ranger Admin — это центральный компонент, где ты создаешь и управляешь политиками безопасности.

Шаг 3: Настройка Установочного Скрипта

bash
# Переходим в директорию с установочными скриптами
cd /opt/ranger/apache-ranger-2.4.0

# Копируем шаблон конфигурации
cp install.properties.template install.properties

Теперь отредактируй файл install.properties. Вот ключевые параметры:

config
# Настройки базы данных
db_root_user=root
db_root_password=StrongPassword123!
db_host=localhost

# Для Ranger
db_name=ranger
db_user=rangeradmin
db_password=StrongPassword123!

# Настройки администратора Ranger
rangerAdmin_password=AdminPassword123!
rangerTagsync_password=TagsyncPassword123!
rangerUsersync_password=UsersyncPassword123!
keyadmin_password=KeyadminPassword123!

# Параметры установки
policymgr_external_url=http://$(hostname):6080
policymgr_http_enabled=true
unix_user=ranger
unix_group=ranger

# Аудиты
audit_store=db
audit_solr_urls=
audit_db_name=ranger_audit

# SSL (по желанию)
audit_ssl_enabled=false

Шаг 4: Запуск Установки

bash
# Запускаем скрипт установки
./setup.sh

# Если скрипт завершился успешно, запускаем Ranger Admin
sudo ./ews/ranger-admin-services.sh start

# Проверяем статус
sudo ./ews/ranger-admin-services.sh status
Осторожно: Первый запуск может занять несколько минут, так как Ranger инициализирует базу данных и создает необходимые таблицы.

Шаг 5: Проверка Установки

Открой браузер и перейди по адресу http://<твой_сервер>:6080. Должна открыться страница входа в Ranger Admin. Используй логин admin и пароль, который указал в install.properties.

bash
# Также можно проверить через командную строку
curl -I http://localhost:6080
# Ожидаемый ответ: HTTP/1.1 200 OK

Установка Ranger Plugins для Hadoop Компонентов

Плагины устанавливаются на ноды, где работают сервисы Hadoop (например, NameNode для HDFS или HiveServer2 для Hive).

Пример: Установка Ranger Plugin для HDFS

bash
# На NameNode сервере
cd /opt/ranger/apache-ranger-2.4.0

# Копируем и настраиваем конфиг плагина
cp install.properties.template install.properties

# Редактируем install.properties - добавляем специфичные для HDFS настройки
# Указываем URL Ranger Admin
POLICY_MGR_URL=http://ranger-admin-host:6080

# Указываем репозиторий (сервис) в Ranger
REPOSITORY_NAME=hdfs_dev

# Запускаем установку плагина
./enable-hdfs-plugin.sh

# После установки необходимо перезапустить NameNode
sudo systemctl restart hadoop-hdfs-namenode

Настройка Плагинов для Других Сервисов

Сервис Скрипт Установки Что Перезапустить
Hive ./enable-hive-plugin.sh HiveServer2
HBase ./enable-hbase-plugin.sh HBase Master & RegionServer
Kafka ./enable-kafka-plugin.sh Kafka Broker
YARN ./enable-yarn-plugin.sh ResourceManager

Настройка Usersync и Tagsync

Эти сервисы синхронизируют пользователей/группы и теги из внешних систем (как LDAP/Active Directory) в Ranger.

bash
# Установка Ranger Usersync
cd /opt/ranger/apache-ranger-2.4.0

# Настройка конфигурации в install.properties
# Указываем источник пользователей (например, LDAP)
SYNC_SOURCE=ldap
ldap_url=ldap://ldap-server:389
bind_dn=cn=admin,dc=example,dc=com
bind_password=LdapPassword123!

# Запуск установки
./setup.sh

# Запуск сервиса
sudo ./ews/ranger-usersync-services.sh start

Частые Проблемы и Их Решения

Ошибка подключения к базе данных

Проверь:

  • Доступность MySQL с хоста установки: telnet db-host 3306
  • Правильность логина и пароля в install.properties
  • Привилегии пользователя базы данных: SHOW GRANTS FOR 'rangeradmin'@'%';

Ranger Admin не запускается

  • Проверь логи: tail -f /opt/ranger/apache-ranger-2.4.0/ews/logs/ranger-admin-*.log
  • Убедись, что порт 6080 не занят: netstat -tulpn | grep 6080
  • Проверь, что Java установлена правильно: java -version

Плагины не подключаются к Ranger Admin

  • Проверь доступность POLICY_MGR_URL с хоста плагина
  • Убедись, что репозиторий создан в веб-интерфейсе Ranger
  • Проверь логи плагина в директории логов соответствующего сервиса

FAQ: Ответы на Частые Вопросы

Можно ли установить Apache Ranger без доступа к интернету?

Да, можно. Тебе нужно предварительно скачать все дистрибутивы (Ranger, JDK, MySQL) на машину с доступом в интернет, затем перенести их на целевую систему. Убедись, что все зависимости удовлетворены локально.

Какая версия Java требуется для Apache Ranger 2.4.0?

Официально поддерживаются Java 8 и Java 11. Рекомендую использовать OpenJDK 11, так как это LTS-версия и имеет лучшую поддержку.

Как обновить Apache Ranger на новую версию?

Процесс обновления включает: 1) Бэкап базы данных Ranger, 2) Остановку всех сервисов, 3) Установку новой версии поверх старой (или в отдельную директорию), 4) Миграцию данных с помощью скриптов обновления из дистрибутива, 5) Запуск и тестирование.

Можно ли использовать встроенную базу данных вместо MySQL?

Для production-окружений это не рекомендуется. Встроенная Derby база подходит только для тестирования и разработки. Для production используй MySQL, PostgreSQL или Oracle.

Как настроить аутентификацию через Kerberos?

В файле install.properties установи параметры: spnego_principal, spnego_keytab, admin_principal и admin_keytab. Также убедись, что все хосты имеют правильные записи в keytab-файлах.

Профессиональный совет: После установки обязательно настрой бэкап базы данных Ranger. Потеря политик безопасности в production — это серьезный инцидент. Настрой ежедневный dump базы и храни несколько копий.

Заключение

Установка Apache Ranger — это многоэтапный процесс, но он окупается централизованным управлением безопасностью всей твоей Big Data-экосистемы. Начни с установки Ranger Admin, затем постепенно добавляй плагины для критически важных сервисов. Не забывай про мониторинг логов и настройку алертов на проблемы с синхронизацией или доступностью.

Помни: правильная установка — это только первый шаг. Дальше тебе предстоит настройка политик, интеграция с LDAP, настройка аудита и, возможно, кластеризация Ranger Admin для отказоустойчивости.

Поделиться:
Сохранить гайд? В закладки браузера