1.Mysql的版本、鉴权、赋权
mysql8安装参考Mysql安装
Mysql GPG密钥过期问题
2.plugins jar包的选择 – 重要
参考上图
其中flink-sql-connect 是连通包
flink-table 是主包
stax、woodstox是依赖的补充需要添加
mysql-connect-java.jar Version= 8.0.31
3.conf文件更改
下面展示一些 比较重要的配置
。
spring:
datasource:
url: jdbc:mysql://172.18.1.16:3306/dlink?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToN
ull&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: dlink
password: dlink
driver-class-name: com.mysql.cj.jdbc.Driver
application:
name: dlink
mvc:
pathmatch:
matching-strategy: ant_path_matcher
main:
allow-circular-references: true
配置
开启后直接配置集群实例即可
例子
下面展示一些 mysql随机数生成
。
CREATE TABLE orders (
order_uid BIGINT,
product_id BIGINT,
price DECIMAL(32, 2),
order_time TIMESTAMP(3)
) WITH (
'connector' = 'datagen'
);
SELECT * FROM orders;
下面展示一些 mysqlCDC - hbase
。
-- Flink SQL 开启心跳检查
SET execution.checkpointing.interval = 3s;
CREATE TABLE product_view_source (
`id` int,
`user_id` int,
`product_id` int,
`server_id` int,
`duration` int,
`times` string,
`time` timestamp,
PRIMARY KEY (`id`) NOT ENFORCED
) WITH (
'connector' = 'mysql-cdc',
'hostname' = '172.18.1.16',
'port' = '3306',
'username' = 'root',
'database-name' = 'test',
'table-name' = 'product_view'
);
-- select * from product_view_source;
CREATE TABLE product_view_hbase (
rowkey INT,
family1 ROW<user_id INT, product_id INT, server_id INT, duration INT>,
PRIMARY KEY (rowkey) NOT ENFORCED
) WITH (
'connector' = 'hbase-2.2',
'table-name' = 'test.cdc_test01',
'zookeeper.quorum' = '172.18.1.16:2181',
'zookeeper.znode.parent' = '/hbase-unsecure'
);
insert into product_view_hbase select id as rowkey, ROW(user_id, product_id, server_id, duration) from product_view_source;
select * from product_view_hbase;
下面展示一些 hbase单独测试
。
CREATE TABLE product_view_hbase (
rowkey INT,
f ROW<age STRING, name STRING>,
PRIMARY KEY (rowkey) NOT ENFORCED
) WITH (
'connector' = 'hbase-2.2',
'table-name' = 'iteblog_namespace:mytable',
'zookeeper.quorum' = '172.18.1.16:2181',
'zookeeper.znode.parent' = '/hbase-unsecure'
);
select rowkey,f.age,f.name from product_view_hbase;
配置hbase与phoenix直接映射的时候,需要注意
hbase 的 命名空间:表名与phoenix的租户名:表名保持一致