Flink CDC的安装配置

Flink CDC 是基于 Apache Flink 构建的,用于捕获数据库表中数据的变更情况,包括数据的插入、更新和删除操作,并能将这些变更数据以流的形式实时传输到其他系统中进行处理和分析。传统的数据同步工具往往是定时任务,存在时间延迟。而 Flink CDC 能实时捕获数据库的变更数据,一旦有数据变化,立即将其同步到目标系统,让数据在各个系统之间保持高度一致,几乎不存在延迟。CDC含义:变更数据捕获(Change Data Capture,简称 CDC)

1、开启MySQL binlog功能

sql 复制代码
# 1、修改mysql配置文件
vim /etc/my.cnf

# 2、增加以下配置
# 在配置文件中增加二配置
# 需要将配置放在[mysqld]后面
# 打开binlog
log-bin=mysql-bin
# 选择ROW(行)模式
binlog-format=ROW
# 配置MySQL replaction需要定义,不要和canal的slaveId重复
server_id=1


# 3、重启mysql服务
systemctl restart mysqld

# 查看mysql binlog文件
cd /var/lib/mysql
mysql-bin.000001

# 改了配置文件之后,重启MySQL,使用命令查看是否打开binlog模式:
mysql -uroot -p123456
show variables like 'log_bin';

# 创建表
create table user(
	id varchar(255),
	name varchar(255),
	age INT,
	PRIMARY KEY(id)
);
insert into user
values('002','李四',24);
bash 复制代码
# 1、上传jar到flink lib目录下
flink-sql-connector-mysql-cdc-2.2.1.jar

# 2、重启flink集群
yarn application -list
yarn application -kill application_1699579932721_2024
yarn-session.sh -d
sql 复制代码
-- 创建flink cdc表,
-- cdc表实时从mysql读取数据的表 -- 无界流
CREATE TABLE user_cdc (
	id STRING,
	name STRING,
	age INT,
    PRIMARY KEY(id) NOT ENFORCED
) WITH (
     'connector' = 'mysql-cdc',
     'hostname' = 'cdh',
     'port' = '3306',
     'username' = 'root',
     'password' = 'lisi1234',
     'database-name' = 'bigdata',
     'table-name' = 'user'
);

CREATE TABLE user_hdfs (
	id STRING,
	name STRING,
	age INT,
    PRIMARY KEY(id) NOT ENFORCED
)WITH (
    'connector' = 'filesystem',           -- 必选:指定连接器类型
    'path' = 'hdfs://cdh:8020/user/hdfs/user',  -- 必选:指定路径
    'format' = 'canal-json',                     -- 必选:文件系统连接器指定 format
    'source.monitor-interval' ='5000',
    'sink.rolling-policy.file-size' ='128MB',
    'sink.rolling-policy.rollover-interval' ='30 min',
    'sink.rolling-policy.check-interval' ='1 min'
);
-- 将变更数据使用canal json格式保存到hdfs中
-- 1、延迟会比较大
-- 2、如果修改了延迟时间,会产生小文件

-- 小文件导致的问题
-- 1、namenode压力大
-- 2、后续的批处理任务task太多,任务执行慢

insert into user_hdfs
select * from user_cdc;
相关推荐
YangYang9YangYan1 小时前
2026高职大数据与会计专业学数据分析的技术价值分析
大数据·数据挖掘·数据分析
AI智能探索者6 小时前
揭秘大数据领域特征工程的核心要点
大数据·ai
做cv的小昊7 小时前
【TJU】信息检索与分析课程笔记和练习(8)(9)发现系统和全文获取、专利与知识产权基本知识
大数据·笔记·学习·全文检索·信息检索
AC赳赳老秦7 小时前
DeepSeek 私有化部署避坑指南:敏感数据本地化处理与合规性检测详解
大数据·开发语言·数据库·人工智能·自动化·php·deepseek
C7211BA9 小时前
通义灵码和Qoder的差异
大数据·人工智能
三不原则9 小时前
银行 AIOps 实践拆解:金融级故障自愈体系如何搭建
大数据·运维
大厂技术总监下海11 小时前
数据湖加速、实时数仓、统一查询层:Apache Doris 如何成为现代数据架构的“高性能中枢”?
大数据·数据库·算法·apache
2501_9418824813 小时前
AI系统工程化架构与大模型部署实践分享
flink
新诺韦尔API13 小时前
手机三要素验证不通过的原因?
大数据·智能手机·api
成长之路51413 小时前
【数据集】分地市全社会用电量统计数据(2004-2022年)
大数据