streampark+flink一键整库或多表同步mysql到doris实战

京东云开发者
• 阅读 428

streampark+flink一键整库或多表同步mysql到doris实战,此应用一旦推广起来,那么数据实时异构时,不仅可以减少对数据库的查询压力,还可以减少数据同步时的至少50%的成本,还可以减少30%的存储成本;

streampark搭建

二进制包编译构建

编译构建二进制可执行包,使用自己构建的二进制包构建Docker镜像,需要准备一台Linux的服务或者是虚拟机,可以正常上网即可,在该台机子上需要事先安装Git(拉取源码文件),Maven和java环境(JDK1.8),我采用的是是上传的源码包:incubator-streampark-2.1.0.tar.gz,然后解压源码包:

tar -zxvf incubator-streampark-2.1.0.tar.gz

解压到服务器上,然后进入到解压路径里面

streampark+flink一键整库或多表同步mysql到doris实战

执行:

streampark+flink一键整库或多表同步mysql到doris实战

到此streampark已经搭建完成,可以在web页面验证应用是否可以访问,

streampark+flink一键整库或多表同步mysql到doris实战

登录账号;

streampark+flink一键整库或多表同步mysql到doris实战

是否能创建

streampark+flink一键整库或多表同步mysql到doris实战

streampark+flink一键整库或多表同步mysql到doris实战

streampark+flink一键整库或多表同步mysql到doris实战

执行:

streampark+flink一键整库或多表同步mysql到doris实战

到此flink特搭建完毕;

web是否可以访问:

streampark+flink一键整库或多表同步mysql到doris实战

上述两个应用搭建成功之后,一定要检查对应的应用的涉及到的端口网络权限是否都开启,如果没有开启的话,那么后续执行的任务的时候,不会成功;

创建同步mysql到doris任务:

此任务是mysql表数据自动同步到doris的任务,首先需要mysql和doris数据库的相关配置都知道,其次是配置任务中的相关jar都有,在同步过程中,doris中对应的mysql表ddl是会自动创建的,不需要人工介入,可以节约同步几十上百张表时人工建表的字段映射的大量时间;

streampark中创建任务

streampark+flink一键整库或多表同步mysql到doris实战

streampark+flink一键整库或多表同步mysql到doris实战

创建完任务,执行启动

streampark+flink一键整库或多表同步mysql到doris实战

服务中指令启动同步任务

在flink目录执行此脚本,

streampark+flink一键整库或多表同步mysql到doris实战

bin/flink run -Dexecution.checkpointing.interval=10s -Dparallelism.default=1 -c org.apache.doris.flink.tools.cdc.CdcTools /opt/streampark_workspace/workspace/100003/streampark-flinkjob_wuhuabiun.jar mysql-sync-database --database jd_carmax --mysql-conf hostname= ..... --mysql-conf port=3306 --mysql-conf username=.... --mysql-conf password=... --mysql-conf database-name=jd_carmax --including-tables ".*" --sink-conf fenodes=....:2004 --sink-conf username=wuhuabin --sink-conf password=.... --sink-conf jdbc-url=jdbc:.... :2000 --sink-conf sink.label-prefix=label --table-conf replication_num=3

执行完之后,在flink ui中能看到对应的任务:

streampark+flink一键整库或多表同步mysql到doris实战

doris数据验证

表ddl验证

登录doris数据库;

mysql表的ddl:

streampark+flink一键整库或多表同步mysql到doris实战

查询doris是否把表ddl都同步成功,

streampark+flink一键整库或多表同步mysql到doris实战

streampark+flink一键整库或多表同步mysql到doris实战

mysql表ddl和doris中的表ddl一致;

表数据量验证

doris表数据量

streampark+flink一键整库或多表同步mysql到doris实战

mysql表数据量:

streampark+flink一键整库或多表同步mysql到doris实战

至此,自运维mysql一键同步到doris的实战到此;

作者:京东零售 吴化斌

来源:京东云开发者社区 转载请注明来源

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
MySQL如何实时同步数据到ES?试试这款阿里开源的神器
摘要mall项目中的商品搜索功能,一直都没有做实时数据同步。最近发现阿里巴巴开源的canal可以把MySQL中的数据实时同步到Elasticsearch中,能很好地解决数据同步问题。今天我们来讲讲canal的使用,希望对大家有所帮助!canal简介canal主要用途是对MySQL数据库增量日志进行解析,提供增量数据的订阅和消
Stella981 Stella981
3年前
MongoDB 定位 oplog 必须全表扫描吗?
MongoDBoplog(类似于MySQLbinlog)记录数据库的所有修改操作,除了用于主备同步;oplog还能玩出很多花样,比如1.全量备份增量备份所有的oplog,就能实现MongoDB恢复到任意时间点的功能2.通过oplog,除了实现到备节点的同步,也可以额外再往单独的集群同步数据(甚至是异构的数据库),实现容
Wesley13 Wesley13
3年前
mysql 中 sync_binlog 参数作用
sync\_binlog”:这个参数是对于MySQL系统来说是至关重要的,他不仅影响到Binlog对MySQL所带来的性能损耗,而且还影响到MySQL中数据的完整性。对于“sync\_binlog”参数的各种设置的说明如下:sync\_binlog0,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog\_cache中的信息到磁盘
Wesley13 Wesley13
3年前
MYSQL数据库之主从复制及读写分离
MYSQL数据库之主从复制及读写分离一、MySQL的主从复制1、概述  MySQLReplication俗称MySQLAB复制或主从复制,是MySQL官方推荐的数据同步技术。数据同步基本过程:从库会实时去读取主库的二进制日志文件,按照日志中记录对从座进行同样的操作,以达到数据同步效果。2、MySQLReplication优点
Wesley13 Wesley13
3年前
MySQL大数据高并发处理之
接上一章的内容,我们来谈一下MySQL中的查询优化技术。保证在实现功能的基础上,尽量减少对数据库的访问次数(可以用缓存保存查询结果,减少查询次数);通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分开的操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引放在选择的首列;算法的结构尽量简单;在查询时,不要过多
一种读取亿级doris数据库的方法 | 京东云技术团队
1.工作中,常常需要将线上doris同步至集市。读取doris数据同读取常规mysql基本相同。如果数据行小于千万,比较简单的方式直接单节点连接、读取和存储。Python示例如下:defgetdata(sql,host'',port2000,user'',
API 小达人 API 小达人
1年前
【遥遥领先】Eolink IDEA 插件:零代码入侵,自动生成接口
对于开发同学来说,无论是新增还是修改接口文档,都需要在开发工具和接口管理工具上同步最新的数据。而且接口文档变更内容会比较琐碎和频繁。那么是否有更轻便的同步接口数据方式呢?我们提供了一个高效方案:在开发工具上基于接口代码片段,一键生成API文档,支持在开发工具中调试,并可一键上传至EolinkApikit的代码仓库中。这样不仅可以减少界面的操作和系统间的切换,还可以在开发工具上完成琐碎和频繁的接口文档更新,是当前CODETOAPI的最佳实践。