2. Мнемоника витрины потребителя;
3. Тип подписки (репликация или уведомление);
4. Окружение (тестовая среда или продуктивная);
5. РЗ вида:
select * from <мнемоника витрины>.<мажорная версия РЗ>.<минорная версия РЗ>.<мнемоника РЗ> |
Помимо регистрации подписки потребителю потребуется настроить окружение:
- Витрина Лайт или Стандарт;
- podd-adapter-replicator: 1.0.5;
- podd-adapter-mppr : 5.0.13-without-union-4 (подробнее в статье Установка витрины данных конфигурации установки Лайт).
Замечание: Одна схема может быть потребителем у одной Рассылки. Если планируется быть потребителем по нескольким Рассылкам, нужно создать количество схем, равное количеству подписок.
Поставщик данных
Первым шагом для поставщика данных необходимо настроить окружение на своей стороне:
- Витрина Лайт версии 1.6.2
- podd-adapter-query версии 5.1.9
- podd-adapter-mppr версии 5.0.13-without-union-4
- podd-adapter-mppw версии 5.0.5
- query-execution версии 5.7.0
- status-monitor версии 5.7.0
- podd-adapter-replicator версии 1.0.5
Витрина данных уже должна быть развернута и работоспособна.
Для установки модуля podd-adapter-replication необходимо выполнить следующие действия:
1. Авторизуйтесь под учетной записью datamart:
sudo su - datamart |
2. Проверьте отсутствие активных загрузок, выполнив в приложении DBeaver команду:
get_delta_hot() |
Получен ответ 0, что означает отсутствие активных загрузок (Рисунок 1).
Рисунок 1 – Отсутствие активных загрузок.
3. Остановите docker-контейнеры: CSV-uploader; Сервис исполнения запросов; Zookeeper; Kafka, выполнив команду:
docker stop csv-uploader query-execution zookeeper kafka |
4. Сделайте резервные копии файла конфигурации custom.yml:
sudo tar –czvf ~/custom.tgz ansible/group_vars/custom.yml |
И файла с настройками установки
sudo tar –czvf ~/install.tgz ansible/install.yml |
5. Измените конфигурационный файл custom.yml, расположенный в папке ansible/group_vars/, указав корректные значения для следующих переменных:
- server_ip - адреса сервера. Укажите IP-адрес сервера, на который будет установлена программа.
Например: server_ip: "172.16.10.5Например: server_user_name: datamart
- server_user_name - имя пользователя операционной системы. Укажите имя пользователя операционной системы сервера, под которым будет производиться установка программы.
- podd_kafka_topic_prefix - префикс перед именем топиков для ПОДД-агента (указывается опционально).
- podd_adapter_replicator_installed – переменная, разрешающая установку podd-adapter-replicator. Необходимо изменить значение на true.
6. Измените файл install.yml расположенный в папке ansible/, удалив все строки, связанные с установкой компонентов, оставив только инструкции по установке podd-adapter-replicator (Рисунок 2).
Рисунок 2 – Изменение файла install.yml.
7. Для установки недостающих компонентов выполните команду:
docker-ansible-cmd ansible-playbook -i hosts install.yml |
Начнется процесс установки компонентов (Рисунок 3):
Рисунок - 3 Процесс установки.
Программа установки проверит все компоненты и установит недостающие. При успешной установке параметр failed должен иметь значение - 0 (Рисунок - 3).
8. Запустите ранее остановленные контейнеры
docker start csv-uploader query-execution zookeeper kafka |
9. Откройте в браузере web-интерфейс Portainer для управления docker-контейнерами по адресу:
IP:9000
В разделе Container list (Рисунок 4) просмотреть наличие контейнера podd-adapter-replicator.
Рисунок 4 – Окно «Container list».
Модуль podd-adapter-replicator: 1.0.5 успешно установлен.
Следующим шагом необходимо сформировать SQL для запроса данных в Рассылке.
SQL запрос должен быть:
- в одну таблицу;
- не параметризован, но может содержать where;
- не содержит in;
- в рамках одной подписки может использоваться несколько sql запросов, но один в одну таблицу;
- если требуется обращение к нескольким таблицам, то создается одна, но множественная подписка (обращение к регистрационному запросу через точку с запятой), пример:
select * from <мнемоника витрины>.1.0.<мнемоника первого РЗ>(); select * from <мнемоника витрины>.1.0.<мнемоника второго РЗ>(); select * from <мнемоника витрины>.1.0.<мнемоника третьего РЗ>() |
Затем нужно проверить sql на исполнение, обернуть sql в РЗ, выдать права поставщику и потребителю репликации. Проверить РЗ на исполнение. После выполнения обязательств со стороны потребителя, зарегистрировать подписку.
Поставщик может транслировать данные на несколько потребителей. Для этого создается количество подписок - равное количеству потребителей.