当前位置: 首页 > wzjs >正文

昆明网站优化公司哈尔滨模板建站公司推荐

昆明网站优化公司,哈尔滨模板建站公司推荐,最新新闻事件今天地震,网站追踪如何做1.FlinkCDC概述 1.1FlinkCDC是什么? FlinkCDC(Flink Change Data Capture)是一个用于实时捕获数据库变更日志的工具,它可以将数据库的变更实时同步到ApacheFlink系统中。 1.2 FlinkCDC的三个版本? 1.x 这个版本的Fli…

1.FlinkCDC概述

1.1FlinkCDC是什么?

        FlinkCDC(Flink Change Data Capture)是一个用于实时捕获数据库变更日志的工具,它可以将数据库的变更实时同步到ApacheFlink系统中。

1.2 FlinkCDC的三个版本?

        1.x 这个版本的FlinkCDC的提供了DataStream以及FlinkSQL的方式实现数据的动态获取

        存在的问题:

        就是在生产环境中,我们在同步环境的时候,万一前脚刚同步了数据,后脚就被修改了怎么办呢?这样我们不就是读到了,不正确的数据了。因此,在FlinkCDC1.x的版本中的解决方案是,在读表的过程中,锁住整张表,这时候不会有新的数据写入了。但是由此又带来了一个新的问题,生产环境中时时刻刻就是会有新的数据写入的,如果锁住整张表,就会对线上产生很多问题。所以迎来了2.x版本。

        2.x 这个版本提供了丰富的数据库对接以及增加全量的同步锁表的解决问题的解决方案。

        提供API或者FlinkSql去进行操作,打包代码上传到集群去进行操作,但是我们的本身任务并不复杂,就是一个导数据的任务,所以需要更简单的方法去实现数据导入的作用。

        3.x 这个版本提供了StreamingETL方式导入数据方案。 

        FlinkCDC在这个版本形成了自己的框架,可以像平时的那些框架文件如果spark,hadoop一样又bin,conf等文件夹,所以我们在使用FlinkCDC的时候就是可以直接在Conf中配置Resource(要导入的数据库)sink(目标文件),可以通过命令启动来进行同步。

顺带提一下两种CDC的同步方式:

        CDC一种是通过查询的方式和通过Binlog两种方式,简单说一下两种的不同

cdc对比
基于查询的CDC基于binlog的cdc
产品

Sqoop、DataX

Canal
执行模式BatchStreaming
是否可以检测到所有变化否(同步最终态)
延迟性延迟高(按天进行同步)低延迟
增加数据库压力

2.flinkCDC 同步mysql数据库数据到doris

        2.1 环境准备

           1)安装FlinkCDC

               flinkCDC下载地址 https://pan.baidu.com/s/1_BKPxommK5dsY3hD7rYVUA 提取码: pisv 

tar -zxvf flink-cdc-3.0.0-bin.tar.gz -C /opt/module/

        2)向FlinkCDC的目录下的lib目录下传入Mysql以及Doris 的依赖包

        doris的jar包
        https://pan.baidu.com/s/1pgtsYT9VyXD1U4RbjYA6rg 提取码: kx2q 
        mysql的jar包
        https://pan.baidu.com/s/1pxCy0-iSutqN9YjdzGAfZw 提取码: p65d 
        还需要一个mysql-connector的jar
        https://pan.baidu.com/s/1lzJuQRPL3KtDqDXaoGBSMQ 提取码: dwnw 

        为啥还需要已经有了mysql的jar包了还需要一个mysql-connector?

        是因为mysql的jar包依赖于mysql-connector,

        为啥不封装在一起?

        首先来说就是MySQL的jar相当于对数据库一个能力的封装底层可以用别的connector,也是为了解耦,还有一个原因就是两个包所用的协议不一样,上面的这个msyql的jar包是用的apache的协议。  

        为啥用了mysql的驱动包,不用doris的驱动包?

        因为doris兼容mysql的协议。

        2.2 同步变更

        编写 MySQL同步到doris的配置文件

        可以选择在FlinkCDC中创建一个单独的文件夹写配置文件,也可以写在conf的目录下。

vim mysql-to-doris.yaml

source:

 #数据源的数据库类型

  type: mysql

 #地址/主机名称

  hostname: hadoop103

 #端口号

  port: 3306

 #数据库用户名

  username: root

  #数据库密码

  password: "000000"

  #要同步的表名

  tables: test.\.*

  #ServerID 下面详细解释

  server-id: 5400-5404

 #时区

  server-time-zone: UTC+8

sink:

  #目标数据库类型

  type: doris

  #目标数据库物理存储主机名加端口号

  fenodes: hadoop102:7030

  #数据库用户名

  username: root

  #数据库密码

  password: "000000"

 #是否同步表的初始变化,就是类似新增字段之类的

  table.create.properties.light_schema_change: true

 #副本数

  table.create.properties.replication_num: 1

pipeline:

  #任务名称

  name: Sync MySQL Database to Doris

  #并行任务数量

  parallelism: 1

server-id 的作用:
MySQL复制标识:在MySQL主从复制中,每个从库必须有一个唯一的server-id来标识自己。同样,当你的CDC工具连接MySQL时,它实际上扮演了一个MySQL从库的角色,通过binlog来获取数据变更。

避免冲突:如果你有多个CDC工具或从库连接同一个MySQL主库,每个实例必须有不同的server-id,否则会导致冲突和数据不一致。

        这种配置方式通常在分布式或并行环境中使用,允许多个任务实例使用不同的server-id(在你的配置中parallelism: 4表示并行度为4,所以需要4个不同的server-id)。

        启动环境

        1)开启Flink集群

        首先要添加如下配置

vim conf/flink-conf.yaml

添加如下配置信息

execution.checkpointing.interval: 5000

#启动集群
bin/start-cluster.sh

        2)开启doris的FE

bin/start_fe.sh

        3)  开启Doris的BE

bin/start_be.sh

        4)启动FlinkCDC同步变更任务

        尚硅谷给的是这个命令,但是我用这个命令不行

flink-cdc-3.0.0]$ bin/flink-cdc.sh job/mysql-to-doris.yaml

        我用的这个可以

bin/flink-cdc.sh config/你的配置文件 --jar lib/mysql....

        然后刷新数据库观察结果

        以上情况适用于就是我们的主库mysql的数据库名.表名,在doris中的数据库名.表名是一样。如果doris中的表名不一样就用到下面的路由变更。

2.3路由变更

ource:

  type: mysql

  hostname: hadoop103

  port: 3306

  username: root

  password: "000000"

  tables: test_route.\.*

  server-id: 5400-5404

  server-time-zone: UTC+8

sink:

  type: doris

  fenodes: hadoop102:7030

  benodes: hadoop102:7040

  username: root

  password: "000000"

  table.create.properties.light_schema_change: true

  table.create.properties.replication_num: 1

#增加了路由规则

route:

  - source-table: test_route.t1

    sink-table: doris_test_route.doris_t1

  - source-table: test_route.t2

    sink-table: doris_test_route.doris_t1

  - source-table: test_route.t3

    sink-table: doris_test_route.doris_t3

pipeline:

  name: Sync MySQL Database to Doris

  parallelism: 1


文章转载自:

http://okU1wGeE.djLxz.cn
http://BMbTm31c.djLxz.cn
http://f7DWMpEp.djLxz.cn
http://ioTfQw1u.djLxz.cn
http://dNlNhHVV.djLxz.cn
http://m7nWCXos.djLxz.cn
http://HbryHctb.djLxz.cn
http://ca24oqlF.djLxz.cn
http://7hUW8ltJ.djLxz.cn
http://Wm26r3Eb.djLxz.cn
http://Azh7FkE0.djLxz.cn
http://ob20IA1E.djLxz.cn
http://OuELmQlv.djLxz.cn
http://g0k4lHK9.djLxz.cn
http://57O2c3xY.djLxz.cn
http://FMzf33HG.djLxz.cn
http://gCBPY51m.djLxz.cn
http://loG219TB.djLxz.cn
http://ackt1lbJ.djLxz.cn
http://0IhHSy8h.djLxz.cn
http://imDWcfM9.djLxz.cn
http://zvihGfIl.djLxz.cn
http://QEJNk4EV.djLxz.cn
http://xOb25ZRD.djLxz.cn
http://bpYbc9k4.djLxz.cn
http://B2E7tn60.djLxz.cn
http://u13m4jpy.djLxz.cn
http://HtXlQ0Tx.djLxz.cn
http://W9yu4sOc.djLxz.cn
http://oBCRROU4.djLxz.cn
http://www.dtcms.com/wzjs/720987.html

相关文章:

  • 网站经营性备案难不难建视频网站系统吗
  • wordpress网站做appc 怎么做网站开发
  • 益阳建设网站wordpress充值卡
  • 做笔记的网站个人建设视频网站制作
  • 素材动图网站wordpress icon图标
  • 免费网站怎么制作wordpress怎么链接
  • 网站建设开发公司报价九江本土专业网站建设
  • 怎么建立自己的网站卖东西辽宁建设工程信息网地址
  • 加盟餐饮的网站建设交友免费网站建设
  • 做电影资源缓存网站教程网络云网站
  • 校园网站建设结论怎么做网站底部文件
  • 扩展名网站公司网站建设 费用
  • 明薇通网站建设价格新手学网站建设视频教程共30课高清版
  • 网站显示乱码怎么办北京怎么进行网页设计
  • 网站图片居中代码做网站编写
  • 苏州设计网页网站爱做网站软件
  • 网站建设个人建设源代码网站开发
  • 深圳做外贸网站的公司网站建设的步骤过程ppt
  • 广东网站建设发信息wordpress自助发卡
  • 做的好的装修公司网站哈尔滨网页设计公司
  • 把网站做app大连高新园区行政服务大厅电话
  • 科技公司.net网站源码黄石网站建
  • 出台网站集约化建设通知微信公众平台绑定网站
  • 做系统软件的网站如何自定义wordpress登录
  • 建设工程资料下载网站网站开发模式框架
  • 网页设计网站维护建论坛网站
  • 番禺区建设局网站摄影网站上的照片做后期嘛
  • 郑州做网站报价站域名多少钱综合性门户网站有
  • 郴州网站维护网络是哪家公司最好
  • 郑州三牛网站建设单页面视频网站