阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Otter实现数据双A同步搭建入门教程

197次阅读
没有评论

共计 13968 个字符,预计需要花费 35 分钟才能阅读完成。

1. 准备阶段

1'>1.1 环境

虚拟机 A:192.168.0.130

虚拟机 B:192.168.0.131

系统:Ubuntu 16.04 LTS

JRE:OpenJDK 1.8.0_151(A、B 都要安装)

DB:MySQL 5.7.20(A、B 都要安装)

ZooKeeper:3.4.11(只装 A 机)

Otter Manager:4.2.14(只装 A 机)(4.2.15 启动 Node 时感觉有 Bug,没有使用)

Otter Node:4.2.14(A、B 都要安装)

1.2 安装环境

1.2.1 JRE 安装

sudo apt-get install default-jre

1.2.2 MySQL 安装

sudo apt-get install mysql-server

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

character-set-server=utf8
log-bin=mysql-bin   
binlog-format=ROW   
server-id=1 #A,B 需要设置成不一样的 id
#bind-address=127.0.0.1 #注释该行 

service mysql restart 

进入 mysql,设置单独账号密码

grant all on *.* to 'root'@'%' identified by 'password'; 

1.2.3 ZooKeeper 安装

安装包地址 http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz

解压可见 conf 文件夹下有一个 zoo_sample.cfg 的文件,重命名为 zoo.cfg 并修改以下配置

dataDir=../datas
dataLogDir=../logs

1.2.4 Otter Manager 安装

安装包地址 https://github.com/alibaba/otter/releases 请自己选择版本

解压可见 conf 文件夹下 otter.properties 文件,修改以下配置

# 以下配置为最基本需要改的配置,其他配置可根据实际要用的功能进行修改
otter.domainName = 192.168.0.130 #一定要改,不要用 127.0.0.1
otter.port = 9000 #manager 站点端口号
otter.database.driver.url = jdbc:mysql://192.168.0.130:3306/otter
otter.database.driver.username = root
otter.database.driver.password = password
otter.zookeeper.cluster.default = 192.168.0.130:2181

1.2.5 Otter Node 安装

安装包地址 https://github.com/alibaba/otter/releases 请自己选择版本

解压可见 conf 文件夹下 otter.properties 文件,修改以下配置

# 以下配置为最基本需要改的配置,其他配置可根据实际要用的功能进行修改
otter.nodeHome = ../
otter.manager.address = 192.168.0.130:1099 

conf 文件夹下创建一个新的配置文件,命名为 nid,写入 node id,A 机为 1,B 机为 2。该 id 后面会介绍。

1

2. 启动

2.1 启动 ZooKeeper

进入 ZooKeeper 目录下的 bin 文件夹,执行以下命令(不要使用 sh,一定要用 bash)

bash zkServer.sh start

2.2 启动 Otter Manager

在 A 机中执行以下数据库语句,创建 Otter 库

在 A,B 机中都要执行以下数据库语句,创建 retl 库( 若只是单向同步,则不需要执行该语句。 该语句用作双 A 同步时的算法)

进入 Otter Manager 下的 bin 目录

bash startup.sh

这时等待数秒,Otter Manager 站点已启动,可以访问 http://192.168.0.130:9000 配置 Otter Node 的信息了。

 

2.3 启动 Otter Node

如果你未在 Otter Manager 站点配置 Otter Node 的信息,则请暂时跳过该节,直接查看下面配置章节,配置完成后再回来该节启动 Otter Node

进入 Otter Node 下的 bin 目录

bash startup.sh

3. 配置

进入 Otter Manager 站点后,使用账号:admin,密码:admin(默认),获得超级管理员权限。

3.1 ZooKeeper 配置

机器管理  R11;>  ZooKeeper 管理,添加,保存,如下图

Otter 实现数据双 A 同步搭建入门教程

 

 3.2 Node 配置

机器管理  R11;>  Node 管理,添加,保存(2 次,A 机一个 Node,B 机一个 Node),如下图(名称和 IP 需要根据不同机器修改,这里只列出 A 机图片)

Otter 实现数据双 A 同步搭建入门教程

最后可在 Node 管理列表中看见,其中序号即我们上面安装过程中写入的 nid 文件的 id 号,配置好之后,即可启动 Otter Node

Otter 实现数据双 A 同步搭建入门教程

启动后可见配置列表

Otter 实现数据双 A 同步搭建入门教程

10'>3.3 数据源配置

配置管理  R11;>  数据源配置,配置 A 机、B 机两个 MySQL 数据源

Otter 实现数据双 A 同步搭建入门教程

配置完成后可见配置列表

Otter 实现数据双 A 同步搭建入门教程

11'>3.4 数据表配置

配置管理  R11;>  数据表配置,配置 A 机、B 机两个 MySQL 数据源所需要同步的数据表(自己的数据库,我这里新建 test 库),其中 table name 配置如果想同步所有表则配置为.*,否则则配置对应表名即可

Otter 实现数据双 A 同步搭建入门教程

配置完成后可见配置列表

Otter 实现数据双 A 同步搭建入门教程

 

12'>3.5 Canal 配置

将 canal 看作是 A、B 两机的从库即可,github 上解释道,canal 模拟 mysql slave 的交互协议,伪装自己为 mysql slave,向 mysql master 发送 dump 协议。

配置管理  R11;>  canal 配置,配置 A 机、B 机两个 canal。实质上两个 canal 分别运行在 A、B 两机上的 Node 节点上。配置如下,其他使用默认配置。

位点信息分别在 A、B 两个 MySQL 执行以下语句获取

show master status;
select unix_timestamp(now());

Otter 实现数据双 A 同步搭建入门教程

配置完成后可见配置列表

Otter 实现数据双 A 同步搭建入门教程

 

13'>3.6 同步任务配置

同步管理 R11;>  Channel 管理,添加一个 Channel

 Otter 实现数据双 A 同步搭建入门教程

添加后,点击进入 Pipeline 管理

Otter 实现数据双 A 同步搭建入门教程

添加两个 Pipeline,如图是其中一个方向,另外一个方向 Select、Load 机器相反。canal 选择与 Node 机器选择一致方向,即要与 Select 机器一样。选择其中一个 Pipeline 作为主站点,并在高级设置中勾选支持 ddl 同步,另外一个主站点勾选否,支持 ddl 同步选择否。

Otter 实现数据双 A 同步搭建入门教程

添加后,点击进入映射关系列表,选择好同步表的方向

Otter 实现数据双 A 同步搭建入门教程

至此。配置完成。到 Channel 管理中开启同步任务,Otter 将为我们自动双 A 同步数据啦!

Otter 实现数据双 A 同步搭建入门教程

 Otter 实现数据双 A 同步搭建入门教程

  本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-12/149767.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计13968字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中