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;
相关推荐
blues925711 分钟前
赋能企业AI高效落地|Vantage万极FDE四天实战营杭州首班开启报名
大数据·人工智能·fde
洋洋不叫杨杨1 小时前
外贸独立站SEO优化全攻略:从0到1的完整指南
大数据·搜索引擎·seo优化·谷歌seo·google seo·独立站seo·外贸seo
RAOY的AI笔记1 小时前
GPT-6 Astra开发指南:API调用、工具使用与AI Agent应用思路
大数据·人工智能·gpt
麻辣布丁1 小时前
Git冲突原因与解决方法全解
大数据·git·elasticsearch
科技每日热闻1 小时前
中国企业出海开展业务,如何挑选可安全合规使用国际大模型的云平台?Amazon Bedrock 在同一平台完成国际模型接入、区域选择与合规治理
大数据·人工智能·安全·ai
SelectDB1 小时前
Apache Doris+ Paimon 2.0:构建 Agentic AI 数据闭环
大数据·数据库·数据分析
进击的横打2 小时前
【人工智能】AI时代公司组织架构的重构
大数据·人工智能·重构
YangYang9YangYan2 小时前
校招视角|财务数字化岗位 SQL、工具、项目完整备考指南
大数据·数据库·sql
光锥智能2 小时前
小鹏第一位机器人自己走下产线
大数据·人工智能
GISMagic2 小时前
Agent学习,写在开始之前
大数据·学习·agent