Debezium系列-Debezium Docker 快速入门

本文使用debezium 1.2,没有太多的干货,废话不多说,上来就开干,先来个Getting Started ! 快乐一下! 官方文档 , Getting Started 是基于docker的没有docker环境的小伙伴先自行准备。为了方便快速部署,将docker命令搬运过来,docker命令添加了参数: -d

zookeeper

docker run -d -it --rm --name zookeeper -p 2181:2181 -p 2888:2888 -p 3888:3888 debezium/zookeeper:1.2

kafka

docker run -d -it --rm --name kafka -p 9092:9092 --link zookeeper:zookeeper debezium/kafka:1.2

Mysql Server

docker run -d -it --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=debezium -e MYSQL_USER=mysqluser -e MYSQL_PASSWORD=mysqlpw debezium/example-mysql:1.2

Kafka Connect

docker run -it --rm --name connect -p 8083:8083 -e GROUP_ID=1 -e CONFIG_STORAGE_TOPIC=my_connect_configs -e OFFSET_STORAGE_TOPIC=my_connect_offsets -e STATUS_STORAGE_TOPIC=my_connect_statuses --link zookeeper:zookeeper --link kafka:kafka --link mysql:mysql debezium/connect:1.2

docker 命令敲到这里,我们需要的组件(zookeeper,kafka,MySQL,kakfa-connect)已经安装完毕,感觉kafka和kafka-connect应该可以在一个容器启动,不知道为嘛,官方分别用了容器启动。
检查下 对应的docker镜像是否都启动成功了:

docker ps

显示如下:
在这里插入图片描述

可以用下面命令检查下 connector.

curl -H "Accept:application/json" localhost:8083/
curl -H "Accept:application/json" localhost:8083/connectors/

注册一个MySQL connector

curl -i -X POST -H "Accept:application/json" -H "Content-Type:application/json" localhost:8083/connectors/ -d '{ "name": "inventory-connector", "config": { "connector.class": "io.debezium.connector.mysql.MySqlConnector", "tasks.max": "1", "database.hostname": "mysql", "database.port": "3306", "database.user": "debezium", "database.password": "dbz", "database.server.id": "184054", "database.server.name": "dbserver1", "database.whitelist": "inventory", "database.history.kafka.bootstrap.servers": "kafka:9092", "database.history.kafka.topic": "dbhistory.inventory" } }'

查看connector状态

curl -i -X GET -H "Accept:application/json" localhost:8083/connectors/inventory-connector

Debezium系列-Debezium Docker 快速入门_第1张图片

查看下采集的binlog

docker run -it --rm --name watcher --link zookeeper:zookeeper --link kafka:kafka debezium/kafka:1.2 watch-topic -a -k dbserver1.inventory.customers

Debezium系列-Debezium Docker 快速入门_第2张图片
到这里我们 Getting Started 算是完工了!

免费赠送,常用docker命令

$ docker ps // 查看所有正在运行容器
$ docker stop containerId // containerId 是容器的ID

$ docker ps -a // 查看所有容器
$ docker ps -a -q // 查看所有容器ID

$ docker stop $(docker ps -a -q) //  stop停止所有容器
$ docker  rm $(docker ps -a -q) //   remove删除所有容器

到这里,我们的Getting Started已经完成了,如果需要深入了解其工作原理,还需要认真查阅官方文档,文档对各个connector参数讲的很详细。

参考文章:

  • Debezium 官网
  • Kafka官网

你可能感兴趣的:(CDC同步系列)