IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Canal-adapter实时增量同步Mysql数据到Doris -> 正文阅读

[大数据]Canal-adapter实时增量同步Mysql数据到Doris

一.版本介绍:

canal.admin :1.1.4

canal.deployer :1.1.4

canal.adapter :1.1.4

Doris :0.14/0.15

三.多源配置:

1.部署Canal

不做详细介绍,可以参考官网部署。地址:https://github.com/alibaba/canal

2.部署Doris

Apache Doris是一个现代化的MPP分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris的分布式架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集。

Apache Doris可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。令您的数据分析工作更加简单高效!

具体部署操作可参考官网: https://doris.apache.org/

3.部署Canal-adapter

修改解压后的Canal-adapter的配置文件。该文件在${your_canal-adapter}/conf 下,修改application.yml配置文件:

server:
  port: 8081
spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
    default-property-inclusion: non_null

canal.conf:
  mode: tcp # kafka rocketMQ
  canalServerHost: 127.0.0.1:11111
  batchSize: 500
  syncBatchSize: 1000
  retries: 0
  timeout:
  accessKey:
  secretKey:
  srcDataSources:
    defaultDS:
      url: jdbc:mysql://172.000.000.00:3306/test?useUnicode=true
      username: root
      password: password
  canalAdapters:
  - instance: example # canal instance Name or mq topic name
    groups:
    - groupId: g1
      outerAdapters:
#      - name: logger
      - name: rdb
        key: mysql1
        properties:
          jdbc.driverClassName: com.mysql.jdbc.Driver
          jdbc.url: jdbc:mysql://10.000.000.00:9030/test?useUnicode=true  #doris连接地址
          jdbc.username: root
          jdbc.password: 
4.doris建表

Doris数据模型分为3种:

? Aggregate 模型:数据会根据指定key进行聚合,用户只能查询到聚合后的数据。

? Uniq 模型:该模型可以保证 Key 的唯一性。

? Duplicate 模型:在某些多维分析场景下,数据既没有主键,也没有聚合需求,那么就可以引入 Duplicate 数据模型来满足这类需求。

本次我们选择Duplicate 模型来做测试。

CREATE TABLE `test_sink` (
  `id` int(32) NOT NULL COMMENT "id",
  `name` VARCHAR(26) NULL COMMENT "姓名"
) ENGINE=OLAP
DUPLICATE KEY(`id`)
COMMENT "测试数据表 "
DISTRIBUTED BY HASH(`name`) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 3",
"in_memory" = "false",
"storage_format" = "V2"
);
5.配置rdb文件

Canal-adapter是通过热加载rdb目录下的yml配置文件来做到同步数据到指定数据库的,所以这块需要根据前面配置的数据源和canal instance实例来配置yml文件,多源配置具体如下:

test_wd_test_sink.yml

dataSourceKey: defaultDS
destination: example  #canal instance 实例名称
groupId: g1
outerAdapterKey: mysql1   
concurrent: true
dbMapping:
  database: test   #源库
  table: test_sink   #源表
  targetTable: test.test_sink   #目标库和表
  targetPk:  #主键
    id: id
  mapAll: true
  etlCondition: "{\"name\":\"zhangsan\"}" #过滤规则,我们进行过修改,有增量过滤需求的自己改源码
  commitBatch: 10 # 批量提交的大小

4.启动Canal-adapter实例

启动之后,当日志中出现以下信息,则说明Canal-adapter启动成功了。

2022-03-09 15:10:32.528 [main] INFO  c.a.otter.canal.client.adapter.rdb.config.ConfigLoader - ## Rdb mapping config loaded
2022-03-09 15:10:32.577 [Thread-3] INFO  c.a.o.canal.adapter.launcher.loader.CanalAdapterWorker - =============> Start to subscribe destination: example <=============
2022-03-09 15:10:32.585 [Thread-3] INFO  c.a.o.canal.adapter.launcher.loader.CanalAdapterWorker - =============> Subscribe destination: example succeed <=============
2022-03-09 15:10:32.793 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-4} inited
2022-03-09 15:10:32.794 [main] INFO  c.a.o.canal.adapter.launcher.loader.CanalAdapterLoader - Load canal adapter: rdb succeed
2022-03-09 15:10:32.795 [main] DEBUG o.s.beans.factory.support.DefaultListableBeanFactory - Returning cached instance of singleton bean 'syncSwitch'
2022-03-09 15:10:32.795 [main] INFO  c.a.o.canal.adapter.launcher.loader.CanalAdapterLoader - Start adapter for canal instance: example1 succeed
2022-03-09 15:10:32.795 [main] INFO  c.a.o.canal.adapter.launcher.loader.CanalAdapterService - ## the canal client adapters are running now ......
2022-03-09 15:10:32.795 [Thread-5] INFO  c.a.o.canal.adapter.launcher.loader.CanalAdapterWorker - =============> Start to connect destination: example1 <=============
2022-03-09 15:10:32.795 [main] DEBUG o.s.beans.factory.support.DefaultListableBeanFactory - Finished creating instance of bean 'scopedTarget.canalAdapterService'
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-12 17:36:19  更:2022-03-12 17:39:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:52:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码