Apache Flink CDC 独立部署模式详解与实践指南
概述
Apache Flink CDC 是基于 Apache Flink 构建的变更数据捕获框架,它能够高效捕获数据库变更事件并实时处理。本文将详细介绍如何在独立部署(Standalone)模式下运行 Flink CDC,帮助开发者快速搭建本地开发测试环境。
环境准备
系统要求
Flink 可以运行在所有类 UNIX 环境中,包括:
- Linux 系统
- Mac OS X
- Windows 系统(通过 Cygwin 支持)
软件下载与安装
- 首先需要下载 Flink 的二进制发行版,建议选择最新的稳定版本
- 解压下载的压缩包:
tar -xzf flink-*.tgz
- 设置环境变量:
export FLINK_HOME=/path/to/your/flink-*
启动本地集群
启动集群
进入 Flink 安装目录,执行启动脚本:
cd /path/to/flink-*
./bin/start-cluster.sh
启动后,Flink 会作为后台进程运行。可以通过以下命令检查运行状态:
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
: 配置文件目录
连接器配置
根据你的数据源和目标系统,下载相应的连接器 JAR 包并放入 lib
目录。常见的连接器包括:
- MySQL CDC 连接器
- PostgreSQL CDC 连接器
- Oracle CDC 连接器
- Doris 连接器等
提交 Flink CDC 任务
配置文件示例
下面是一个将 MySQL 数据库同步到 Doris 的配置文件示例 mysql-to-doris.yaml
:
source:
type: mysql
hostname: localhost
port: 3306
username: root
password: 123456
tables: app_db.\.*
server-id: 5400-5404
server-time-zone: UTC
sink:
type: doris
fenodes: 127.0.0.1:8030
username: root
password: ""
pipeline:
name: Sync MySQL Database to Doris
parallelism: 2
配置说明
-
source 部分:配置数据源信息
type
: 数据源类型(如 mysql)hostname
: 数据库主机port
: 数据库端口username/password
: 数据库凭证tables
: 要捕获的表(支持正则表达式)server-id
: MySQL binlog 客户端ID范围server-time-zone
: 服务器时区
-
sink 部分:配置目标系统信息
type
: 目标类型(如 doris)fenodes
: Doris FE 节点地址username/password
: Doris 凭证
-
pipeline 部分:配置作业参数
name
: 作业名称parallelism
: 并行度
提交任务
使用以下命令提交任务:
./bin/flink-cdc.sh mysql-to-doris.yaml
成功提交后,会输出类似以下信息:
Pipeline has been submitted to cluster.
Job ID: ae30f4580f1918bebf16752d4963dc54
Job Description: Sync MySQL Database to Doris
监控与管理
提交任务后,可以通过 Flink Web UI 监控任务运行状态:
- 在作业列表中查找你的任务
- 查看任务运行指标
- 检查任务日志
- 必要时可以停止或重启任务
常见问题与建议
- 连接器版本兼容性:确保 Flink CDC 版本与 Flink 版本兼容
- 资源分配:根据数据量调整并行度和任务管理器内存
- 网络配置:确保数据库与 Flink 集群之间的网络连通性
- 权限设置:确保数据库用户有足够的权限读取 binlog
- 时区设置:统一各组件时区配置,避免时间戳问题
通过本文的指导,你应该已经掌握了在独立模式下部署和运行 Flink CDC 的基本方法。这种模式非常适合开发测试环境,可以快速验证数据同步流程和性能表现。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考