Войти

Регистрация рассылок в СМЭВ4

Для регистрации подписки на Рассылку Потребителю необходимо зарегистрировать обращение в СЦ с указанием следующих данных:
1.     Мнемоника витрины поставщика;
2.     Мнемоника витрины потребителя;
3.     Тип подписки (репликация или уведомление);
4.     Окружение (тестовая среда или продуктивная);
5.     РЗ вида:
select * from <мнемоника витрины>.<мажорная версия РЗ>.<минорная версия РЗ>.<мнемоника РЗ>

Помимо регистрации подписки потребителю потребуется настроить окружение:
Замечание: Одна схема может быть потребителем у одной Рассылки. Если планируется быть потребителем по нескольким Рассылкам, нужно создать количество схем, равное количеству подписок.

Поставщик данных

Первым шагом для поставщика данных необходимо настроить окружение на своей стороне:

Витрина данных уже должна быть развернута и работоспособна.

Для установки модуля podd-adapter-replication необходимо выполнить следующие действия:

1. Авторизуйтесь под учетной записью datamart:

 sudo su - datamart

2. Проверьте отсутствие активных загрузок, выполнив в приложении DBeaver команду:

 get_delta_hot()

Получен ответ 0, что означает отсутствие активных загрузок (Рисунок 1).

Рисунок 1 Отсутствие активных загрузок.png

Рисунок 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 - имя пользователя операционной системы. Укажите имя пользователя операционной системы сервера, под которым будет производиться установка программы.
Например: server_user_name: datamart
  • podd_kafka_topic_prefix - префикс перед именем топиков для ПОДД-агента (указывается опционально).
Например: podd_kafka_topic_prefix: "user_prefix."
  • podd_adapter_replicator_installed – переменная, разрешающая установку podd-adapter-replicator. Необходимо изменить значение на true.
Например: podd_adapter_replicator_installed: true

6. Измените файл install.yml расположенный в папке ansible/, удалив все строки, связанные с установкой компонентов, оставив только инструкции по установке podd-adapter-replicator (Рисунок 2).

Рисунок 2 Изменение файла install.yml..png

Рисунок 2 – Изменение файла install.yml.

7. Для установки недостающих компонентов выполните команду:

 docker-ansible-cmd ansible-playbook -i hosts install.yml

Начнется процесс установки компонентов (Рисунок 3):

Рисунок - 3 Процесс установки..png

Рисунок - 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.png

Рисунок 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 в РЗ, выдать права поставщику и потребителю репликации. Проверить РЗ на исполнение. После выполнения обязательств со стороны потребителя, зарегистрировать подписку.

Поставщик может транслировать данные на несколько потребителей. Для этого создается количество подписок - равное количеству потребителей.

Авторизуйтесь, чтобы оставить комментарий к статье