wordpress的别名获得页面的别名,优化大师电视版,小型企业网站开发价格,厦门网站排名优化软件【Apache Doris】一键实现万表MySQL整库同步 | 快速体验#xff09; 一、 环境信息1.1 硬件信息1.2 软件信息 二、 流程介绍三、 前提概要3.1 安装部署3.2 JAR包准备3.2.1 数据源3.2.2 目标源 3.3 脚本模版 四、快速体验五、常见问题5.1 Mysql通信异常5.2 MySQL无Key同步异常5… 【Apache Doris】一键实现万表MySQL整库同步 | 快速体验 一、 环境信息1.1 硬件信息1.2 软件信息 二、 流程介绍三、 前提概要3.1 安装部署3.2 JAR包准备3.2.1 数据源3.2.2 目标源 3.3 脚本模版 四、快速体验五、常见问题5.1 Mysql通信异常5.2 MySQL无Key同步异常5.3 CKP ON HDFS连接异常5.4 CKP ON HDFS权限异常5.5 其它参考官方【Flink Doris Connector】QA 一、 环境信息
1.1 硬件信息
CPU 48CCPU型号x86_64内存 185GB
1.2 软件信息
系统 CentOSApahce Doris版本 2.0.2Mysql版本5.7.36Flink版本1.17.1Flink-Doris-Connector版本1.5
二、 流程介绍
Mysql万表同步至Doris主要是通过Flink计算引擎、基于Doris社区研发的Flink Doris Connector 实现的。无需提前建表当Flink任务启动后Flink Doris Connector 会自动识别对应的Doris表是否存在不存在则自动创建Doris表如果存在则直接启动同步任务。
三、 前提概要
3.1 安装部署
Doris/Flink/Mysql的安装部署流程可以根据版本自行Google。
Doris下载地址Doris下载地址Flink下载地址Flink下载地址MySQL包下载地址MySQL包下载地址
3.2 JAR包准备
3.2.1 数据源
Flink源端读取MySQL数据的连接器可通过该地址下载flink-sql-connector-mysql-cdc-2.4.1.jar mysql-cdc-2.4.1下载地址
3.2.2 目标源
Flink目标端写Doris的Flink Doris Connector 可通过该地址获取 flink-doris-connector下载地址
3.3 脚本模版
./bin/flink run \-Dexecution.checkpointing.interval10s \-Dparallelism.default1 \-c org.apache.doris.flink.tools.cdc.CdcTools \lib/flink-doris-connector-1.17-1.5.0-SNAPSHOT.jar \mysql-sync-database \--database doris_db \--mysql-conf hostname 127.0.0.1 \--mysql-conf port 3306 \--mysql-conf username root \--mysql-conf password root \--mysql-conf database-name mysql_db \--mysql-conf scan.startup.modeinitial \--including-tables test.* \--sink-conf fenodes 127.0.0.1:8030 \--sink-conf usernameroot \--sink-conf passwordroot \--sink-conf jdbc-urljdbc:mysql://127.0.0.1:9030 \--sink-conf sink.label-prefixlabel \--table-conf replication_num1 \–job-name Flink任务名称, 非必需。-Dexecution.checkpointing.interval checkpoint时间间隔实际task中是需要checkpoint后才执行数据写入–database 同步到Doris的数据库名。–mysql-conf MySQL CDCSource 配置例如–mysql-conf hostname127.0.0.1 可以在这里查看 所有配置MySQL-CDC其中hostname/username/password/database-name 是必需的。–including-tables 需要同步的MySQL表可以使用| 分隔多个表并支持正则表达式。 比如–including-tables “test.*” 就是同步所有以test开头的表。–sink-conf Doris Sink 的所有配置可以在这里查看完整的配置项。–table-conf Doris表的配置项即properties中包含的内容。 例如 --table-conf replication_num1
四、快速体验
例如单表同步MySQL中Star Schema Benchmark的part零件信息表共1600000条记录。
./bin/flink run \-Dexecution.checkpointing.interval10s \-Dparallelism.default1 \-c org.apache.doris.flink.tools.cdc.CdcTools \lib/flink-doris-connector-1.17-1.5.0-SNAPSHOT.jar \mysql-sync-database \--database ssb_test \--mysql-conf hostname172.21.16.12 \--mysql-conf port23306 \--mysql-conf usernameroot \--mysql-conf password123456 \--mysql-conf database-namessb_test \--mysql-conf scan.startup.modeinitial \--mysql-conf scan.incremental.snapshot.chunk.key-columnssb_test.part:p_partkey \--including-tables part \--sink-conf fenodes10.16.10.6:8032 \--sink-conf usernameroot \--sink-conf passwordroot \--sink-conf jdbc-urljdbc:mysql://10.16.10.6:9034 \--sink-conf sink.label-prefixlabel05 \--table-conf replication_num1 \在FLINK_HOME执行上述命令后WEB UI中会新增相应Job。 查看taskmanager日志可以发现task会先对mysql主键做切分然后再根据ckp的时间间隔按批写入Commit默认2pc提交。 默认环境10秒ckp下单并发写入只需3min左右即可同步完160W数据且单副本数据压缩率达到90%
五、常见问题
5.1 Mysql通信异常
不用单独加mysql驱动包这个问题可能是因为mysql信息填写错误或驱动包不兼容导致。
5.2 MySQL无Key同步异常
mysql源表没有设置主键可以在脚本中指定–mysql-conf scan.incremental.snapshot.chunk.key-columndatabase.table:column,database.table1.column… 解决。 5.3 CKP ON HDFS连接异常
使用hadoop作为checkpoint时报如下异常
Caused by: java.net.ConnectException: Call From hadoop1/ip to hadoop1:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused这类异常一般是由于网络原因或端口配置错误导致可以先进行telnet ip port看是否通再进行调整处理。 5.4 CKP ON HDFS权限异常
使用默认root跑脚本时如果出现如下异常
Caused by: org.apache.hadoop.security.AccessControlException: Permission denied: userroot, accessWRITE, inode/:hadoop:supergroup:drwxr-xr-x这类异常一般切换至对应用户或者授权即可这个case可以切换至hadoop用户起 或 将root用户加到hdfs用户组中即可。 5.5 其它参考官方【Flink Doris Connector】QA 【Apache Doris】一键实现万表MySQL整库同步 | 快速体验 分享至此结束体验过程中若遇到问题欢迎留言交流