项目03(上云otter测试04)

7 篇文章 0 订阅
6 篇文章 0 订阅

背景

承接项目03(上云otter测试03),本篇内容为配置数据同步

写在前面

参考文档
https://blog.csdn.net/eagle89/article/details/104768338?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-4.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-4.control

link

上文链接中的内容:(重点部分已  单行  显示)

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)启动通道

同步

01计划是读取129上的数据,同步到128和130

02计划是按照上文链接配置(不同主机分担读写,好方法哟)[读129,写到128和130]

以下为02计划的显示

同步配置

两个数据源,一个叫read(读取源129)一个叫write(写入的目标128和130)

目标库(云上数据库)
在这里插入图片描述
在这里插入图片描述
源库(需要上云的库)
在这里插入图片描述
配置成功后的列表
在这里插入图片描述

read:要读取数据的实例
write:要写入数据的实例

库表

配置读取的数据库名,表名。
schema name: 配置库名称
Table name:因为我们是同步库下面的所有表,所以就填写了一个正则表达式;
数据源:选择源库(上面的步骤实例配置已配置,选择即可)

在这里插入图片描述

配置写入的数据库名,表名。
Schema name: 配置库名称
Table name:因为我们是同步库下面的所有表,所以就填写了一个正则表达式;
数据源:选择目标库(上面的步骤实例配置已配置,选择即可)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Canal

Canal配置,主要是读取的源实例的binlog日志用的(129上)

Canal名称: 自定义
Zookeeper:默认会自动选择,前面已配置过了
数据库类型:Mysql
数据库地址:就是你要获取数据库binlog的地址【和源库实例一样】
账号密码:需要有获取binlog权限的账号噢。
其他内容可不填写

在这里插入图片描述
在这里插入图片描述

Channel通道

选择基于当前日志变更,选择行记录;名称可自定义
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Pipeline

读取哪个实例的binlog

步骤1 : 点击Channel通道名称,进入下一步(点击instance_test_01)
步骤2 : 新增Pipleline,点击添加
选择select 和load 的节点。一个是读,一个是写。选择同一个节点,减少网络之间的传输。(129主机)
Canal名称: 选择刚才canal配置添加的,其他保持不变

在这里插入图片描述
在这里插入图片描述

映射关系

在这条通道上,什么样的规则进行同步,就是表与表之间的配置

步骤1: 点击Pipeline进入映射关系配置(instance_test_01)
步骤2:添加映射关系
步骤3:查找数据表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

启动通道

在这里插入图片描述
在这里插入图片描述

测试验收

在源库新增数据,验证目标库表是否同步正常
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

报警

步骤1 :在系统管理中,找到系统参数。
编辑默认报警联系人 key = otterteam values=邮箱地址
步骤2 :在Pipeline下面找到监控,编辑内容如下,key直接写上面设置的otterteam
步骤3 :启动报警

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试报警

步骤1 :插入测试表
SQL> CREATE TABLE  t_alert_01 (id INT,alert_name VARCHAR(20)) ;

准备测试表,该表是一张没有主键的表,插入数据,otter肯定会报错,因为otter不支持没有主键的表同步。

步骤2 :插入数据
SQL> INSERT INTO t_alert_01 VALUES (1,"abc");

配置的邮件没有报警,(存疑)。不过日记记录里面有报错信息。(如下)

在这里插入图片描述

注意点

#参考文档摘录(本次配置的是	qq.com)
otter报警无法发送邮件,或者收到邮件报警,参考如下
>确保otter.manager配置文件正确

#cat /data/services/otter-manager/conf/otter.properties
# manager email user config
otter.manager.monitor.email.host = smtp.yeah.net
otter.manager.monitor.email.username = jiajinhuang@yeah.net
otter.manager.monitor.email.password = xxxxxx
otter.manager.monitor.email.stmp.port = 465
>确保SMTP服务设置正确

163的 yeah邮箱服务器,需要单独设置SMTP客户端密码,并且开启SMTP客户端服务。否则无法收到邮件

再次鸣谢

#以下链接还进行了批量添加和性能测试介绍  (推荐读者阅读)
https://blog.csdn.net/eagle89/article/details/104768338?utm_medium=distribute.
pc_relevant.none-task-blog-BlogCommendFromBaidu-4.control&depth_1-utm_source=
distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-4.control

link

补充

虚拟机重启之后:
(请依次开启zkServer.sh start,otter-manager:./stop.sh和./startup.sh ,
otter-node:./stop.sh 和./startup.sh)
脚本路径:
/otter/data/services/otter-manager/bin
/otter/data/services/otter-node/bin

#如果之前目标库是从库,还需要关闭set global read_only = 0; 
read_only                               | OFF
(依用户而定,root对应super_read_only。
本次使用的是root用户,read_only为ON,super_read_only为OFF)

至此otter数据同步系统已经搭建完毕,并进行了简单的数据同步测试。(之后会测试更详细的数据同步)。

本文说明,主要技术内容来自互联网技术大佬的分享,还有一些自我的加工(仅仅起到注释说明的作用)。如有相关疑问,请留言,将确认之后,执行侵权必删

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值