Flink CDC Connectors 独立部署模式详解
概述
Flink CDC Connectors 是 Apache Flink 生态中用于变更数据捕获(Change Data Capture)的重要组件,它能够高效捕获数据库变更并实时同步到下游系统。本文将详细介绍如何在独立(Standalone)模式下部署和运行 Flink CDC 作业。
环境准备
系统要求
Flink 可以运行在所有类 UNIX 环境中,包括:
- Linux 系统
- Mac OS X
- Windows 系统(通过 Cygwin 环境)
Flink 安装
- 下载最新稳定版的 Flink 二进制发行包
- 解压下载的压缩包:
tar -xzf flink-*.tgz
- 设置环境变量:
export FLINK_HOME=/path/flink-*
启动本地集群
启动集群
进入 Flink 安装目录,执行启动脚本:
cd /path/flink-*
./bin/start-cluster.sh
启动后,可以通过以下命令检查进程状态:
ps aux | grep flink
访问 Web UI
集群启动后,可以通过浏览器访问 Flink 的 Web 控制台:
http://localhost:8081
停止集群
使用以下命令快速停止集群:
./bin/stop-cluster.sh
Flink CDC 配置
下载与安装
- 下载 Flink CDC 的 tar 包
- 解压文件:
tar -xzf flink-cdc-*.tar.gz
解压后的目录结构包含:
bin
:可执行脚本目录lib
:依赖库目录log
:日志目录conf
:配置文件目录
添加连接器
将所需的 CDC 连接器 jar 包下载并放入 lib
目录中。
提交 Flink CDC 作业
配置文件示例
下面是一个完整的 MySQL 到 Doris 数据库同步的配置文件示例 mysql-to-doris.yaml
:
################################################################################
# 描述: 将 MySQL 所有表同步到 Doris
################################################################################
source:
type: mysql
hostname: localhost
port: 3306
username: root
password: 123456
tables: app_db.\.* # 匹配 app_db 下的所有表
server-id: 5400-5404 # MySQL 复制标识
server-time-zone: UTC # 服务器时区
sink:
type: doris
fenodes: 127.0.0.1:8030 # Doris FE 节点地址
username: root
password: ""
pipeline:
name: MySQL 到 Doris 数据库同步
parallelism: 2 # 并行度
配置说明
-
source 部分:配置源数据库(MySQL)连接信息
tables
支持正则表达式匹配表名server-id
是 MySQL 复制必需的标识符
-
sink 部分:配置目标数据库(Doris)连接信息
fenodes
指定 Doris 前端节点地址
-
pipeline 部分:配置作业参数
parallelism
设置作业并行度
提交作业
使用以下命令提交作业到 Flink 独立集群:
cd /path/flink-cdc-*
./bin/flink-cdc.sh mysql-to-doris.yaml
成功提交后,终端会显示类似以下信息:
Pipeline has been submitted to cluster.
Job ID: ae30f4580f1918bebf16752d4963dc54
Job Description: MySQL 到 Doris 数据库同步
作业监控
提交成功后,可以通过 Flink Web UI 查看作业运行状态:
- 在浏览器中访问
http://localhost:8081
- 在作业列表中查找名为 "MySQL 到 Doris 数据库同步" 的作业
- 可以查看作业的详细运行指标、任务状态等信息
常见问题排查
- 连接失败:检查数据库地址、端口、用户名密码是否正确
- 权限问题:确保数据库用户有足够的权限
- 资源不足:适当调整作业并行度或增加集群资源
- 时区问题:确保所有节点和数据库的时区设置一致
最佳实践建议
-
生产环境建议:
- 为 CDC 作业分配足够的资源
- 设置合理的检查点间隔
- 监控作业延迟和吞吐量
-
性能调优:
- 根据数据量调整并行度
- 合理设置批处理大小
- 优化网络配置
-
高可用配置:
- 考虑使用 Flink 的高可用模式
- 配置 ZooKeeper 集群
- 设置合理的检查点保留策略
通过以上步骤,您已经成功在独立模式下部署并运行了 Flink CDC 作业。这种模式非常适合开发测试和小规模生产环境使用。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考