1 目标库配置
1.1 创建用户并赋权
- 创建用户
CREATE USER 'zcbus' IDENTIFIED BY 'zcbus';
- 用户赋权
GRANT ALL ON database_name TO zcbus;
2.2 配置/etc/hosts
- 配置doris所有的地址和主机名,填写到本地的/data/docker02/hosts中
172.168.2.101 mr_10_manager
172.168.2.102 mr_node_01
172.168.2.103 mr_node_02
172.168.2.104 mr_node_03
172.168.2.105 mr_node_04
- 修改yaml文件对应容器配置,使hosts配置持久化:
volumes:
- type: bind
source: /data/docker02/hosts
target: /etc/hosts
- 容器生效配置
[root@iZ2ze7y8byz5e2ki7gbcjpZ yaml]# docker-compose up -d zcbus
[+] Running 1/0
✔ Container zcbus Running
2 补充说明
2.1 特殊属性参数说明
- 注意:
- 订阅属性中需开启审计模式(audit_mode)
- 根据业务需求,可自由选择是否增加 ZCBUS_SOURCE_OPTIME 和 ZCBUS_SOURCE_OPTYPE 字段
- 在通道属性中的table_properties是表的额外属性,需要替换的部分设置特定关键字
- 对于Aggregate聚合模型目前不支持自动建表,需要手动在doris中创建表
table_properties参数的使用
(1)对于UNIQUE 模型,key满足唯一性,最新插入的数据替换掉对应key的数据行。对于主键唯一键,只需填写如下内容即可,zcbus程序可自动替换为UNIQUE KEY(#zcbus_key#)信息内容
ENGINE=OLAP UNIQUE KEY(#zcbus_key#) COMMENT #zcbus_comment# DISTRIBUTED BY HASH(#zcbus_distribute_key#) BUCKETS 10 PROPERTIES ( “replication_allocation” = “tag.location.default: 1”);
(2)对于Duplicate(重复,复制)模型,需要使用Duplicate KEY关键字
ENGINE=OLAP Duplicate KEY(#zcbus_key#) COMMENT #zcbus_comment# DISTRIBUTED BY HASH(#zcbus_distribute_key#) BUCKETS 10 PROPERTIES(“replication_allocation” = “tag.location.default: 1”);
(3)对于Aggregate(聚合,合计)模型,需要使用Aggregate KEY关键字
ENGINE=OLAP Aggregate KEY(#zcbus_key#) COMMENT #zcbus_comment# DISTRIBUTED BY HASH(#zcbus_distribute_key#) BUCKETS 10 PROPERTIES(“replication_allocation” = “tag.location.default: 1”);
2.2 目前DORIS兼容三种数据模型
- Unique 模型
- 更新模型:UNIQUE 模型,聚合类型的特殊情况,key满足唯一性,最新插入的数据替换掉对应key的数据行。
- Duplicate 模型
- 明细模型:Duplicate(重复,复制)模型,表中的Key值(类似关系模型中的主键)可以重复,和插入数据行一一对应。
- Aggregate 模型
- 聚合模型:Aggregate(聚合,合计)模型,表中key值不重复,对于插入的数据数据按照key值对value值进行聚合函数合并。
2.3 DORIS快照功能
对于将数据同步至HDFS的需求,建议使用快照功能,将源库的全量及增量数据同步至DORIS,经DORIS整合后,由软件快照功能推送至HDFS,以减少HDFS碎片化文件
1.将全量和增量数据同步到DORIS数据库后,进入 订阅 - 数据表 页面,勾选中需要同步至HDFS的表,点击 更多操作 下拉框中 快照 功能,编辑完成后提交即可
注:快照任务修改或提交后,需要重新启动订阅通道,让软件读取已快照任务状态
2.4 配置目标数据库参数列表
序号 | 参数名 | 参考值 | 是否隐藏 | 描述 |
---|---|---|---|---|
1 | db_type | DORIS | NO | 数据库类型 |
2 | db_name | zcbus | NO | 数据库名称 |
3 | host | 127.0.0.1 | NO | 数据库主机IP |
4 | port | 9030 | NO | 数据库端口 |
5 | http_port | 8030 | NO | url端口 |
6 | user | zcbus | NO | 数据库用户 |
7 | password | 1qaz!QAZ | NO | 数据库链接用户密码 |
8 | db_display_name | 数据库中文名 | YES | 数据库中文名 |
9 | password_encrypt | 0 | YES | 设置为加密(1)时,password和source_password参数使用密文保存,默认为不加密(0) |
10 | slave_ip_list | - | YES | 如果目标库有多个节点时,可以填其余的节点的ip列表,用逗号隔开,注意这里不要填主节点的ip了,如:192.168.1.2,192.168.1.3或者192.168.1.2:1521/db2,192.168.1.3:1521/db3 |
11 | always_connect_master | 0 | YES | 设置slave_ip_list指定多个节点后生效,取值:0- 可以任意连接节点,默认值- 必须连接主节点此参数适用mysql/pg/达梦 |