Otter-安装配置-(4)同步任务配置案例

准备前--otter配置流程

otter配置比较繁琐,并不会特别复杂,我这里先大概说下流程和几个关键名词解释
**otter名词解释:**
数据源:读取的源实例信息,和写入的目标实例信息
数据表:配置映射用的,用于配置,源实例,什么库,什么表,同步到目标什么库,什么表
canal:otter是做增量同步的,增量同步基于mysql的binlog日志,并且是row格式。这里需要配置你读取binlog的信息,和数据源里面的源实例信息可以说是同一个。
通道配置: otter采用一个实例一个通道方式。一个实例可以多个配置多个库
pipeline:主要核心功能如下
(1)选择你的canal配置,读取哪个实例的binlog。
(2)选择整个同步是在哪个节点上进行,例如我们部署了三个node节点,可以由node1进行读取的操作,可以由node2进行目标实例写入操作。也可以同时放到一个节点上。
(3)binlog位置,默认不写就读最新位置的。
(4)高级配置里面有是否跳过DDL,传输模式,负载均衡算法等,一般保持默认即可。
**流程:**
(1)新增数据源,一般最少配置2个,一个读取的源库,一个目标
(2)数据表,配置映射关系,从哪里同步到哪里。
(3)Canal,配置读取binlog的信息
上面步骤创建好后,我们就可以正式开始配置通道了
(4)创建通道
(5)创建pipeline
(6)创建表映射关系
(7)启动通道

1. 同步实例配置

Otter-安装配置-(4)同步任务配置案例
我这里新增了两个数据源,一个叫read(读取源)实例,一个叫write(写入的目标)实例.

(1)详细编辑配置如下
Otter-安装配置-(4)同步任务配置案例
Otter-安装配置-(4)同步任务配置案例
(2)配置成功后的列表
Otter-安装配置-(4)同步任务配置案例
source_read_testing_01: 要读取数据的实例
target_write_testing_01: 要写入数据的实例

2. 同步表配置

Otter-安装配置-(4)同步任务配置案例
(1)读库表配置-详细信息编辑
Otter-安装配置-(4)同步任务配置案例
这里主要是配置你要读取的数据库名,表名。
schema name: 配置库名称
Table name:因为我们是同步库下面的所有表,所以就填写了一个正则表达式;
数据源:选择源库(上面的步骤实例配置已配置,选择即可)
(2)写库表配置-详细信息编辑
Otter-安装配置-(4)同步任务配置案例
这里主要是配置你要写入的数据库名,表名。
Schema name: 配置库名称
Table name:因为我们是同步库下面的所有表,所以就填写了一个正则表达式;
数据源:选择目标库(上面的步骤实例配置已配置,选择即可)

3.Canal配置

Otter-安装配置-(4)同步任务配置案例

Canal配置,主要是读取的源实例的binlog日志用的
Otter-安装配置-(4)同步任务配置案例
Canal名称: 自定义
Zookeeper:默认会自动选择,前面已配置过了
数据库类型:Mysql
数据库地址:就是你要获取数据库binlog的地址【和源库实例一样】
账号密码:需要有获取binlog权限的账号噢。
其他内容可不填写

4.Channel通道配置

Otter-安装配置-(4)同步任务配置案例

创建Canal
Otter-安装配置-(4)同步任务配置案例
选择基于当前日志变更,选择行记录;名称可自定义;

5.Pipeline配置

Otter-安装配置-(4)同步任务配置案例
步骤1 : 点击Channel通道名称,进入下一步

步骤2 : 新增Pipleline,点击添加
Otter-安装配置-(4)同步任务配置案例
选择select 和load 的节点。一个是读,一个是写。选择同一个节点,减少网络之间的传输。
Canal名称: 选择刚才canal配置添加的,其他保持不变

6.映射关系配置

意思就是,你要在这条通道上,什么样的规则进行同步,就是表与表之间的配置
Otter-安装配置-(4)同步任务配置案例
步骤1: 点击Pipeline进入映射关系配置

步骤2:添加映射关系

步骤3:查找数据表
Otter-安装配置-(4)同步任务配置案例
源数据表: 选择只读源库表
Otter-安装配置-(4)同步任务配置案例
目标数据表: 选择目标库表
Otter-安装配置-(4)同步任务配置案例
保存后,内容如下,返回通道首页
Otter-安装配置-(4)同步任务配置案例

7.启动通道

Otter-安装配置-(4)同步任务配置案例

Otter-安装配置-(4)同步任务配置案例

8.测试验收

在源库新增数据,验证目标库表是否正常

对于部署 Otter-Server,可以使用 Docker 镜像进行部署。具体步骤如下: 1. 下载 Otter-Server 的 Docker 镜像: ``` docker pull alibaba/otter ``` 2. 创建并启动容器: ``` docker run -d --name otter-server -p 8080:8080 -p 1099:1099 -p 2088:2088 \ -e JAVA_OPTS="-Dfile.encoding=UTF-8 -server -Xmx2g -Xms2g -Xmn512m -Xss256k -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/heapdump" \ -v /yourpath/otter/data:/data -v /yourpath/otter/logs:/logs \ alibaba/otter ``` 其中,`/yourpath/otter/data` 和 `/yourpath/otter/logs` 是宿主机器上存储 Otter-Server 数据和日志的路径,可以自行修改。 3. 进入容器内部: ``` docker exec -it otter-server /bin/bash ``` 4. 修改 Otter-Server 配置文件: Otter-Server 的配置文件位于 `/data/otter/conf/otter.properties`,可以使用 `vi` 命令进行编辑。 在配置文件中,需要添加以下配置: ``` otter.amqp.addresses=amqp://guest:guest@<your-rabbitmq-host>:5672 otter.clickhouse.addresses=<your-clickhouse-host>:8123 ``` 其中,`<your-rabbitmq-host>` 和 `<your-clickhouse-host>` 分别为 RabbitMQ 和 ClickHouse 的地址。 5. 重启 Otter-Server: ``` /data/otter/bin/stop.sh /data/otter/bin/startup.sh ``` 至此,Otter-Server 的部署完成。 关于消费 RabbitMQ 并写入 ClickHouse 的问题,需要在 Otter-Server 中配置 Canal,具体步骤如下: 1. 在 Otter-Server 配置文件中添加 Canal 配置: ``` otter.canal.zookeeper.cluster=<your-zookeeper-host>:2181 ``` 其中,`<your-zookeeper-host>` 为 ZooKeeper 的地址。 2. 在 Otter-Server 中创建 Canal 实例: 使用 `otter-admin` 工具创建 Canal 实例,具体命令如下: ``` cd /data/otter/otter-admin/bin ./otter.sh create --type canal --mode memory --zoohost <your-zookeeper-host>:2181 --canalId <your-canal-id> --destination <your-destination> ``` 其中,`<your-canal-id>` 和 `<your-destination>` 分别为 Canal 实例的 ID 和名称。 3. 在 Otter-Server 中配置 Canal 映射关系: 使用 `otter-admin` 工具配置 Canal 映射关系,具体命令如下: ``` cd /data/otter/otter-admin/bin ./otter.sh canal --c <your-canal-id> --s <your-rabbitmq-exchange> --d <your-clickhouse-table> --m <your-field-mapping> ``` 其中,`<your-rabbitmq-exchange>` 和 `<your-clickhouse-table>` 分别为 RabbitMQ 的 Exchange 和 ClickHouse 的表名,`<your-field-mapping>` 为字段映射配置。 至此,Otter-Server 就可以消费 RabbitMQ 并将数据写入 ClickHouse 中了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值