- разворачивается
PostgreSQL
, в нем создается тестовая БДinventory
- для фиксации всех изменений в БД создается коннектор
Debezium
- коннектор
Debezium
отправляет сообщения об изменениях в топикKafka
- для преобразования сообщений в формат
avro
используется хранилище схемAPICURIO Registry
- для создания пайплайнов загрузки собщений из
Kafka
запускаетсяStreamSets
- для хранения логов изменений в базе данных запускается
Hadoop
- после клонирования репозитория выполнить по очереди команды:
$ cd debezium_pg_cdc
$ mkdir -pv ./streamsets/sdc-data
$ sudo chmod -R 777 ./streamsets/sdc-data
$ docker-compose -f docker-compose-apicurio.yml pull
$ docker-compose -f docker-compose-apicurio.yml build
$ docker-compose -f docker-compose-apicurio.yml up
$ make register-postgres-apicurio
🔗 Debezium Documentation / Tutorial
🔗 Debezium Documentation / Avro Serialization
🔗 Debezium connector for PostgreSQL
🔗 Debezium docker images Github
🔗 StreamSets Data Collector User Guide
🔗 StreamSets Data Collector User Guide / Basic Tutorial
🔗 StreamSets docker image Github
🔗 Kafka 2.6 Documentation
Kafka: kafka:9092
Zookeeper: zookeeper:2181
Hadoop: hadoop:9000
, hdfs://namenode:9000
🔗 StreamSets: http://localhost:18630/
🔗 Hadoop: http://localhost:9870/
🔗 APICURIO Registry: http://localhost:8080/
🔗 APICURIO Registry API: http://localhost:8080/api
Посмотреть список доступных библиотек StreamSets
:
$ docker run --rm streamsets/datacollector:3.21.0 stagelibs -list
Для мониторинга работы Kafka
можно использовать команды в Makefile
:
$ make команда
❗но команды с -avro-
работать не будут (они работают только в версии с Confluent Schema Registry
),
❗и просмотр содержимого топиков тоже не особо полезен, т.к. содержимое будет выводиться в формате avro