apache doris+cannal+mysql实践

这篇具有很好参考价值的文章主要介绍了apache doris+cannal+mysql实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Doris介绍

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris 能够较好的满足报表分析、即席查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用

目标

使用canal同步mysql数据到doris

安装doris

参考:官方快速开始

安装canal

下载安装包:https://github.com/alibaba/canal/releases
或者
wget https://github.com/alibaba/canal/releases/download/canal-1.1.5/canal.deployer-1.1.5.tar.gz
doris 与mysql,个人,mysql,数据分析,数据仓库
这里我只安装服务端,可以满足场景,客户端有机会再探索
下载 canal, 访问 release 页面 , 选择需要的包下载, 如以 1.1.5 版本为例

解压缩

mkdir /tmp/canal
tar zxvf canal.deployer-$version.tar.gz  -C /tmp/canal
解压完成后,进入 /tmp/canal 目录,可以看到如下结构
drwxr-xr-x 2 jianghang jianghang  136 2013-02-05 21:51 bin
drwxr-xr-x 4 jianghang jianghang  160 2013-02-05 21:51 conf
drwxr-xr-x 2 jianghang jianghang 1.3K 2013-02-05 21:51 lib
drwxr-xr-x 2 jianghang jianghang   48 2013-02-05 21:29 logs

配置修改

vi conf/example/instance.properties

mysql serverId

canal.instance.mysql.slaveId = 1234
#position info,需要改成自己要同步的数据库信息
canal.instance.master.address = 127.0.0.1:3306 
canal.instance.master.journal.name = 
canal.instance.master.position = 
canal.instance.master.timestamp = 
#canal.instance.standby.address = 
#canal.instance.standby.journal.name =
#canal.instance.standby.position = 
#canal.instance.standby.timestamp = 
#username/password,需要改成自己要同步的数据库信息
canal.instance.dbUsername = canal  
canal.instance.dbPassword = canal
canal.instance.defaultDatabaseName =
canal.instance.connectionCharset = UTF-8
#table regex
canal.instance.filter.regex = .\*\\\\..\*

canal.instance.connectionCharset 代表数据库的编码方式对应到 java 中的编码类型,比如 UTF-8,GBK , ISO-8859-1
如果系统是1个 cpu,需要将 canal.instance.parser.parallel 设置为 false

启动

sh bin/startup.sh

创建目录

cd&mkdir /usr/local/canal

配置mysql

[mysqld]
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复

我的数据库是8.0.25,默认就是不需要配置,可以查看自己的数据库配置

show GLOBAL VARIABLES LIKE "%log_bin%"
show GLOBAL VARIABLES LIKE "%format%"
show GLOBAL VARIABLES LIKE "%server_id%"

创建mysql的表和doris保持一致

创建mysql中的表

--create Mysql table
CREATE TABLE `demo.test` (
  `id` int(11) NOT NULL COMMENT "",
  `name` int(11) NOT NULL COMMENT ""
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

创建doris中的表
-- create Doris table
CREATE TABLE `test` (
  `id` int(11) NOT NULL COMMENT "",
  `name` int(11) NOT NULL COMMENT ""
) ENGINE=OLAP
UNIQUE KEY(`id`)
COMMENT "OLAP"
DISTRIBUTED BY HASH(`id`) BUCKETS 8;

– enable batch delete 此配置在fe配置中,我的版本默认支持
ALTER TABLE target_test ENABLE FEATURE “BATCH_DELETE”;

创建同步任务

CREATE SYNC `dbtest`.`job1`
(
FROM `demo`.`test` INTO `test`, #源库.源表=>当前表
FROM `demo`.`test` INTO `test`  #源库.源表=>当前表
)
FROM BINLOG
(
"type" = "canal",
"canal.server.ip" = "127.0.0.1",
"canal.server.port" = "11111",
"canal.destination" = "example",
"canal.username" = "canal",
"canal.password" = "canal2022"
);

查看同步任务
表名可以忽略
SHOW SYNC JOB;

mysql> SHOW SYNC JOB \G;
*************************** 1. row ***************************
        JobId: 11007
      JobName: job1
         Type: CANAL
        State: CANCELLED
      Channel: db.table->table
       Status: position:[binlog.000005:532030969], executeTime:[2022-12-07 15:03:02], delay:6217ms
    JobConfig: address:localhost:11111,destination:example,batchSize:8192
   CreateTime: 2022-11-23 17:59:16
LastStartTime: 2022-11-23 17:59:16
 LastStopTime: 2022-12-07 15:03:36
   FinishTime: 2022-12-07 15:03:36
          Msg: SyncFailMsg [type=USER_CANCEL, msg=user cancel]
*************************** 2. row ***************************
        JobId: 11014
      JobName: job2
         Type: CANAL
        State: CANCELLED
      Channel: db.table2->table2
       Status: position:N/A
    JobConfig: address:localhost:11111,destination:doris-load,batchSize:8192
   CreateTime: 2022-12-07 14:45:33
LastStartTime: 2022-12-07 14:45:37
 LastStopTime: 2022-12-07 15:03:01
   FinishTime: 2022-12-07 15:03:01
          Msg: SyncFailMsg [type=USER_CANCEL, msg=user cancel]
*************************** 3. row ***************************
        JobId: 11024
      JobName: job1
         Type: CANAL
        State: RUNNING
      Channel: db.table3->table3
       Status: position:[binlog.000005:533045063], executeTime:[2022-12-07 16:01:20], delay:3791ms
    JobConfig: address:10.118.9.50:11111,destination:example,batchSize:8192
   CreateTime: 2022-12-07 15:11:03
LastStartTime: 2022-12-07 15:11:07
 LastStopTime: NULL
   FinishTime: NULL
          Msg: NULL
3 rows in set (0.00 sec)

控制作业

用户可以通过 STOP/PAUSE/RESUME 三个命令来控制作业的停止,暂停和恢复。可以通过 STOP SYNC JOB ; PAUSE SYNC JOB; 以及 RESUME SYNC JOB;

注意:文章来源地址https://www.toymoban.com/news/detail-553298.html

  • 同一个DB,只能有一个相同的job_name和ip:port + destination运行
  • 如果需要修改job,可以STOP SYNC JOB,再次创建job
  • 一旦job处于cancel状态(stop),就无法再重启

到了这里,关于apache doris+cannal+mysql实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用 Flink CDC 实现 MySQL 数据,表结构实时入 Apache Doris

    现有数据库:mysql 数据:库表较多,每个企业用户一个分库,每个企业下的表均不同,无法做到聚合,且表可以被用户随意改动,增删改列等,增加表 分析:用户自定义分析,通过拖拽定义图卡,要求实时,点击确认即出现相应结果,其中有无法预判的过滤 问题:随业务增长

    2023年04月08日
    浏览(48)
  • 为什么Apache Doris适合做大数据的复杂计算,MySQL不适合?

    经常有小伙伴发出这类直击灵魂的疑问: Q:“为什么Apache Doris适合做大数据的复杂计算,MySQL不适合?” A:“因为Apache Doris是OLAP,MySQL是OLTP啊!” Q:“SO?” A:“因为一个是AP场景的DB,一个是TP场景的DB啊!” Q:“SO?” … [emm] 要不先来简单概述下 OLAP和OLTP : OLAP (

    2024年01月19日
    浏览(44)
  • Apache Doris 在金融壹账通指标中台的应用实践

    本文导读: 金融壹账通作为中国平安集团的联营公司,依托平安集团 30 多年金融行业的丰富经验及自主科研能力,向客户提供“横向一体化、纵向全覆盖”的整合产品,以“技术+业务”为独特竞争力,帮助客户提升效率、提升服务、降低成本、降低风险,实现数字化转型。

    2024年02月12日
    浏览(32)
  • Apache Doris1.1.2(ES & MySQL)

    目录 Apache Doris 数据准备 MySQL Elastic Search Apache Doris 配置修改 FE BE

    2024年02月16日
    浏览(39)
  • 大数据Doris(六十五):基于Apache Doris的数据中台2.0

    文章目录 基于Apache Doris的数据中台2.0 一、​​​​​​​架构升级

    2024年02月20日
    浏览(52)
  • 【数据仓库】Apache Doris介绍

    Apache Doris应用场景 Apache Doris核心特性 Apache Doris架构 Aggregate模型介绍   Uniq模型介绍          在某些多维分析场景下,用户更关注的是如何保证Key的唯一性Key 唯一性约束。因此,我们引入了 Unig 的数据模型。该模型本质上是聚合模型的一个特例,也是一种简化的表结构表

    2024年02月12日
    浏览(53)
  • Apache Doris (二十三) :Doris 数据导入(一)Insert Into

    目录 1. 语法及参数 2. 案例 ​​​​3. 注意事项 3.1. 关于插入数据量

    2024年02月13日
    浏览(40)
  • Apache Doris (三十):Doris 数据导入(八)Spark Load 3- 导入HDFS数据

    目录 1. 准备HDFS数据 2. 创建Doris表 3. 创建Spark Load导入任务 4. 查看导入任务状态 进入正文之前,欢迎订阅专题、对博文点赞、评论、收藏,关注IT贫道࿰

    2024年02月16日
    浏览(35)
  • 基于Doris构建亿级数据实时数据分析系统

    转载至我的博客 https://www.infrastack.cn ,公众号:架构成长指南 随着公司业务快速发展,对业务数据进行增长分析的需求越来越迫切,与此同时我们的业务数据量也在快速激增、每天的数据新增量大概在30w 左右,一年就会产生1 个亿的数据,显然基于传统MySQL数据库已经无法支

    2024年02月19日
    浏览(38)
  • Apache Doris 入门教程35:多源数据目录

    多源数据目录(Multi-Catalog)功能,旨在能够更方便对接外部数据目录,以增强Doris的数据湖分析和联邦数据查询能力。 在之前的 Doris 版本中,用户数据只有两个层级:Database 和 Table。当我们需要连接一个外部数据目录时,我们只能在Database 或 Table 层级进行对接。比如通过 

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包