1.环境准备
目标实现
构建一个以Flink SQL Client为基础,简单的读取mysql binlog增量同步数据到kafka topic中的Flink任务
应用准备清单Docker Desktop windows桌面版/Docker
Flink docker镜像(Flink 1.11.2 scala 2.12)
MySQL docker镜像(latest)
kafka docker镜像(latest)
连接器清单
flink-format-changelog-json-1.1.0.jar
flink-sql-connector-kafka_2.12-1.11.2.jar
flink-sql-connector-mysql-cdc-1.1.0.jar
备注:连接器需要单独下载并放到FLINK_HOME/lib下,可从阿里云镜像点下载相关jar包
仓库服务
使用命令docker cp ${jar} ${containerName}:/${dir},从本地复制jar包到docker容器中
Docker compose.yml文件配置
flink:compose-flink.ymlversion: "2.1"
services:
jobmanager:
image: flink
expose:
- "6123"
ports:
- "8081:8081"
command: jobmanager
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
taskmanager:
image: flink
expose:
- "6121"
- "6122"
depends_on:
- jobmanager
command: taskmanager
links:
- "jobmanager:jobmanager"
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
mysq