写点什么

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

  • 2024-01-31
    北京
  • 本文字数:1043 字

    阅读完需:约 3 分钟

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 已经搭建完成,可以在 web 页面验证应用是否可以访问,



登录账号;



是否能创建



flink 搭建


执行:



到此 flink 特搭建完毕;


web 是否可以访问:



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

创建同步 mysql 到 doris 任务:

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

streampark 中创建任务



创建完任务,执行启动


服务中指令启动同步任务

在 flink 目录执行此脚本,



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 中能看到对应的任务:


doris 数据验证

表 ddl 验证

登录 doris 数据库;


mysql 表的 ddl:



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




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

表数据量验证

doris 表数据量



mysql 表数据量:



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


作者:京东零售 吴化斌


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

用户头像

拥抱技术,与开发者携手创造未来! 2018-11-20 加入

我们将持续为人工智能、大数据、云计算、物联网等相关领域的开发者,提供技术干货、行业技术内容、技术落地实践等文章内容。京东云开发者社区官方网站【https://developer.jdcloud.com/】,欢迎大家来玩

评论

发布
暂无评论
streampark+flink一键整库或多表同步mysql到doris实战_京东科技开发者_InfoQ写作社区