Настройка внешней БД PostgreSQL для хранения метаданных Ranger
Обзор
Сервисное действие Migrate DB schema позволяет провести миграцию схемы базы данных и сервисных пользователей из внутренней базы данных на внешнюю. Миграция доступна для компонентов Ranger KMS и Ranger Admin.
Чтобы подготовить сервер БД и хосты кластера к миграции, следуйте шагам ниже.
|
ПРИМЕЧАНИЕ
Перед миграцией на внешнюю БД убедитесь в том, что она настроена и доступна.
|
Настройка сервера PostgreSQL
Ниже представлен пример настройки сервера PostgreSQL на машине с CentOS 7:
-
Во избежание ошибочного разрешения зависимостей отредактируйте файл /etc/yum.repos.d/CentOS-Base.repo, добавив следующую строку в конце секций
[base]и[updates]:exclude=postgresql* -
Установите пакет настройки PostgreSQL.
$ sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -
Установите требуемую версию сервера PostgreSQL.
$ sudo yum install postgresql<N>-serverгде
<N>— поддерживаемая версия сервера (далее будет использоваться 12). -
Создайте новый кластер БД.
$ sudo /usr/pgsql-12/bin/postgresql-12-setup initdb -
Запустите сервис PostgreSQL с помощью
systemctl.$ sudo systemctl enable postgresql-12 --now -
Проверьте наличие доступа к консоли psql.
$ sudo -i -u postgres; psql
Дальнейшие действия зависят от компонента, для которого производится настройка. Команды ниже следует запускать в консоли psql.
-
Создайте пользователя для сервиса Ranger KMS.
CREATE USER rangerkms WITH PASSWORD '<password>';где
<password>— пароль для пользователяrangerkms. -
Создайте базу данных для сервиса.
CREATE DATABASE rangerkms; -
Выдайте созданному пользователю все права на базу данных.
GRANT ALL PRIVILEGES ON DATABASE rangerkms TO rangerkms; -
Добавьте в файл /var/lib/pgsql/12/data/pg_hba.conf следующую строку:
host rangerkms rangerkms <ranger_kms_host>/32 trust
где
<ranger_kms_host>— хост с установленным компонентом Ranger KMS. В вашей системе файл может быть расположен по другому пути.
-
Создайте пользователя для сервиса Ranger Admin.
CREATE USER rangeradmin WITH PASSWORD '<password>';где
<password>— пароль для пользователяrangeradmin. -
Создайте базу данных для сервиса.
CREATE DATABASE ranger; -
Выдайте созданному пользователю все права на базу данных.
GRANT ALL PRIVILEGES ON DATABASE ranger TO rangeradmin; -
Добавьте в файл /var/lib/pgsql/12/data/pg_hba.conf следующую строку:
host ranger rangeradmin <ranger_admin_host>/32 trust
где
<ranger_admin_host>— хост с установленным компонентом Ranger Admin. В вашей системе файл может быть расположен по другому пути. Если в вашем кластере присутствует несколько компонентов Ranger Admin, то подобную строку следует добавить для каждого хоста с Ranger Admin.
В завершение отредактируйте файл /var/lib/pgsql/12/data/postgresql.conf, присвоив параметру listen_addresses значение *, а параметру port — значение 5432.
После всех действий перезапустите сервис PostgreSQL:
$ sudo systemctl restart postgresql-12
Настройка хостов
Если вы ранее не устанавливали JDBC-драйвер PostgreSQL на хосты Ranger KMS/Ranger Admin, это нужно сделать. Следуйте шагам ниже:
-
Скачайте JDBC-драйвер для PostgreSQL (например, с сайта PostgreSQL)
-
Переместите драйвер в директорию /usr/share/java/ и переименуйте его в jdbc-postgresql.jar.
-
Выполните настройку в ADCM.
-
На странице Clusters найдите ваш кластер ADPS и кликните по его имени.
-
На вкладке Services нажмите Ranger.
-
На открывшейся странице настроек разверните группу параметров dbks-site.xml и установите значения для следующих параметров:
-
ranger.ks.jpa.jdbc.password— пароль для пользователя внешней БД. -
ranger.ks.jpa.jdbc.url— строка подключения JDBC. Например,jdbc:postgresql://<database_host>:5432/rangerkms. -
ranger.ks.jpa.jdbc.driver— имя класса JDBC-драйвера. Для PostgreSQL этоorg.postgresql.Driver. -
ranger.ks.jdbc.sqlconnectorjar— путь к JAR-файлу JDBC-драйвера, например/usr/share/java/jdbc-postgresql.jar. -
ranger.ks.jpa.jdbc.user— имя пользователя внешней БД, например,rangerkms.
-
-
В группе параметров Ranger KMS install.properties присвойте параметру
DB_FLAVORзначениеPOSTGRES. -
Нажмите Save.
-
На странице Clusters найдите ваш кластер ADPS и кликните по его имени.
-
На вкладке Services нажмите Ranger.
-
На открывшейся странице настроек разверните группу параметров ranger-admin-site.xml и установите значения для следующих параметров:
-
ranger.jpa.jdbc.password— пароль для пользователя внешней БД. -
ranger.jpa.jdbc.url— строка подключения JDBC. Например,jdbc:postgresql://<database_host>:5432/ranger. -
ranger.jpa.jdbc.driver— имя класса JDBC-драйвера. Для PostgreSQL этоorg.postgresql.Driver. -
ranger.jdbc.sqlconnectorjar— путь к JAR-файлу JDBC-драйвера, например/usr/share/java/jdbc-postgresql.jar. -
ranger.jpa.jdbc.user— имя пользователя внешней БД, например,rangeradmin.
-
-
В группе параметров Ranger Admin install.properties присвойте параметру
DB_FLAVORзначениеPOSTGRES. -
Нажмите Save.