debezium-examples
Список примеров
Сгенерировать CLUSTER_ID для Кафки
sudo docker image pull confluentinc/cp-kafka:7.6.2sudo docker container run -it --rm confluentinc/cp-kafka:7.6.2 sh -c "/bin/kafka-storage random-uuid"
Стандартный порядок действий
- Апнуть контейнеры из файла
в папкеdocker-compose.yml
и дождаться пока всё запустится.compose - Открыть UI по адресу http://localhost:8080/ui/clusters/kafka/connectors и добавить коннекторы из папки
.connectors - Открыть DBeaver, подключиться к БД источника и запустить скрипт из папки
.sql/источник/dml - Подключиться к БД приёмника, посмотреть результат.
Нужно иметь в виду, что чтение лога, формирование топиков и перенос в целевую БД может происходить с задержкой в несколько минут.
Настройка БД для чтения логов с помощью Debezium
Для использования Debezium каждую базу данных необходимо соответствующим образом настроить, например: включить ведение логов, создать техническую УЗ и дать ей соответствующие права и т.п. Примеры таких настроек приведены в документации Debezium для каждого типа коннектора. Однако, в вашем конкретном случае могут быть нюансы, и нужно быть готовым в случае ошибок изучать логи и "дорабатывать напильником".
В рамках этого репозитория, по умолчанию, все скрипты для настройки БД лежат в папке
, примонтируются в контейнер соответствующей БД и выполняются при старте контейнера, если такой вариант возможен. Если нет, то в примере будут приведены тексты скриптов, которые необходимо выполнить вручную.
Примеры строк подключения к БД для DBeaver
MySQL
jdbc:mysql://localhost:3306/example1?allowPublicKeyRetrieval=True
PostgreSQL
jdbc:postgresql://localhost:5432/testdb
Использование sdkman для управления JDK
sdk install java 11.0.24-amznsdk current java 11.0.24-amznjava -version