启动debezium前需要启动MySQL、Zookeeper、Kafak服务
这边演示的,已经把三个服务启动了
ip分别为:
主机名 | IP地址 |
---|---|
zookeeper1 | 192.168.8.101 |
zookeeper2 | 192.168.8.102 |
zookeeper3 | 192.168.8.103 |
mysql | 192.168.8.104 |
kafka1 | 192.168.8.105 |
kafka2 | 192.168.8.106 |
kafka3 | 192.168.8.107 |
启动debezium
这里下载debezium/connector对应版本的镜像包来监控MySQL数据库
下载镜像包
docker pull debezium/connector:1.7.1.Final
运行镜像
本来:参考
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 kafka:kafka --link mysql:mysql \quay.io/debezium/connect:2.3
命令解析:
--name connect
:指定启动的容器名称-p 8083:8083
:将容器中的8083
端映射到Docker
主机上的相同端口。这使得容器外的应用程序可以使用Kafka connect
的
REST API
来设置和管理新的容器实例-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 kafka:kafka --link mysgl:mysql
:将容器链接到正在运行的Kafka
和MysQL
容器。
docker run debezium连接外部的kafka:
docker run -it --rm \-e GROUP_ID=<your-group-id> \-e CONFIG_STORAGE_TOPIC=<your-config-storage-topic> \-e OFFSET_STORAGE_TOPIC=<your-offset-storage-topic> \-e BOOTSTRAP_SERVERS=<your-kafka-bootstrap-servers> \-e KAFKA_CONNECT_CLUSTER=<your-kafka-connect-cluster> \debezium/connect:<tag>请替换以下占位符:<your-group-id>: Debezium连接器的群组ID。<your-config-storage-topic>: 存储连接器配置的主题。<your-offset-storage-topic>: 存储连接器偏移量的主题。<your-kafka-bootstrap-servers>: Kafka集群的引导服务器地址,例如kafka1:9092,kafka2:9092。<your-kafka-connect-cluster>: Kafka Connect集群的URL。<tag>: Debezium Docker镜像的版本标签。
docker run命令连接外部的MySQL:
docker run --rm \-e MYSQL_HOST=外部MySQL服务的IP地址 \-e MYSQL_PORT=3306 \-e MYSQL_USER=用户名 \-e MYSQL_PASSWORD=密码 \-e MYSQL_DB=数据库名称 \镜像名称在这个命令中,MYSQL_HOST、MYSQL_PORT、MYSQL_USER、MYSQL_PASSWORD和MYSQL_DB环境变量分别设置为连接到外部MySQL服务所需的信息。镜像名称是你想要运行的Docker镜像的名称。
实际:
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 \-e MYSQL_HOST=192.168.8.104 \-e MYSQL_PORT=3306 \-e MYSQL_USER=root \-e MYSQL_PASSWORD=root \-e MYSQL_DB=atguigu2022 \-e BOOTSTRAP_SERVERS=192.168.8.105:9092,192.168.8.106:9092,192.168.8.107:9092 \debezium/connect:1.7.1.Final