otter部署【原创】

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 环境IP:10.10.6.171 部署:mysql源库IP:10.10.6.172 部署:mysql目标库IP:10.10.6.173 部署:zookeeper,manager,node,canal (也都部署到源库服务器上) 由于otter进行数据库同步,目前仅支持row,所以需要把源库的binlog_format改为ROWlog-bin=mysql-binexpire_logs_days=3binlog_format=ROW otter为纯java编写(manager,node,canal都为java编写),所以需要安装JDK。

环境
IP:10.10.6.171 部署:mysql源库
IP:10.10.6.172 部署:mysql目标库
IP:10.10.6.173 部署:zookeeper,manager,node,canal (也都部署到源库服务器上)

由于otter进行数据库同步,目前仅支持row,所以需要把源库的binlog_format改为ROW
log-bin=mysql-bin
expire_logs_days=3
binlog_format=ROW

otter为纯java编写(manager,node,canal都为java编写),所以需要安装JDK。

设置java环境变量
vi /etc/profile

export JAVA_HOME=/usr/local/jdk
export JRE_HOME=/usr/local/jdk/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

#生效
source /etc/profile

一、部署zookeeper
下载地址:http://pan.baidu.com/s/1miC2j4O
官网地址:https://zookeeper.apache.org/

tar zxvf zookeeper-3.4.10.tar.gz
mv zookeeper-3.4.10 /usr/local/zookeeper
cd /usr/local/zookeeper/conf
mv zoo_sample.cfg zoo.cfg
mkdir /usr/local/zookeeper/data

修改zoo.cfg配置文件
vi /usr/local/zookeeper/conf/zoo.cfg

dataDir=/usr/local/zookeeper/data
autopurge.purgeInterval=1

修改bin/zkEnv.sh脚本
vi /usr/local/zookeeper/bin/zkEnv.sh
将ZOO_LOG_DIR="." 修改为ZOO_LOG_DIR="/usr/local/zookeeper/data"
将ZOO_LOG4J_PROP=”INFO,CONSOLE” 修改为ZOO_LOG4J_PROP="INFO,ROLLINGFILE"

修改bin/zkServer.sh脚本:
vi /usr/local/zookeeper/bin/zkServer.sh
将ZOOBIN="${BASH_SOURCE-$0}" 修改为ZOOBIN=`readlink -f "${BASH_SOURCE-$0}"`

修改bin/zkCli.sh脚本:
vi /usr/local/zookeeper/bin/zkCli.sh
将ZOOBIN="${BASH_SOURCE-$0}" 修改为ZOOBIN=`readlink -f "${BASH_SOURCE-$0}"`

建立软连接
ln -s /usr/local/zookeeper/bin/zkServer.sh /usr/local/bin/zk-server
ln -s /usr/local/zookeeper/bin/zkCli.sh /usr/local/bin/zk-cli

echo 1 > /usr/local/zookeeper/data/myid

启动:zk-server start
关闭:zk-server stop

二、部署manager
下载地址:http://pan.baidu.com/s/1i5aEEw9
官网地址:https://github.com/alibaba/otter/releases

mkdir /usr/local/manager
tar zxvf manager.deployer-4.2.14.tar.gz -C /usr/local/manager

配置修改
vi /usr/local/manager/conf/otter.properties

## otter manager domain name #修改为正确访问ip,生成URL使用
otter.domainName = 10.10.6.173
## otter manager http port
otter.port = 8080
## jetty web config xml
otter.jetty = jetty.xml

## otter manager database config #修改为正确数据库信息 otter数据库SQL:http://pan.baidu.com/s/1kUEVQEN
otter.database.driver.class.name = com.mysql.jdbc.Driver
otter.database.driver.url = jdbc:mysql://10.10.6.199:3306/otter
otter.database.driver.username = root
otter.database.driver.password = 123456

## default zookeeper address #修改为zookeeper地址信息
otter.zookeeper.cluster.default = 127.0.0.1:2181

启动:/usr/local/manager/bin/startup.sh
关闭:/usr/local/manager/bin/stop.sh

三、部署node
下载地址:http://pan.baidu.com/s/1bpEg2g3
官网地址:https://github.com/alibaba/otter/releases

mkdir /usr/local/node
tar zxvf node.deployer-4.2.14.tar.gz -C /usr/local/node

cd /usr/local/node
echo 1 > conf/nid #需要和manager管理页面的序号相同

配置修改
vi /usr/local/node/conf/otter.properties

## otter arbitrate & node connect manager config #修改manager的地址信息
otter.manager.address = 127.0.0.1:1099

启动:/usr/local/node/bin/startup.sh #先不用启动
关闭:/usr/local/node/bin/stop.sh

node需要aria2

下载地址:http://pan.baidu.com/s/1hsonOA4

rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
yum -y install aria2

四、部署canal
下载地址:http://pan.baidu.com/s/1jIE8nTc
官网地址:https://github.com/alibaba/canal/releases #下载canal.deployer

mkdir /usr/local/canal
tar zxvf canal.deployer-1.0.24.tar.gz -C /usr/local/canal

#只需部署canal无需配置和启动,canal可嵌入式运行,在manager页面管理中设置

五、设置manager管理页面
访问地址:http://10.10.6.173:8080/login.htm 用户名密码都为admin,密码可以系统管理中修改

1、Zookeeper管理

2、Node管理

3、数据源配置

4、数据表配置

先在源库和目标库新建一个测试表

SQL代码:

CREATE TABLE `test`.`example` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(32) COLLATE utf8_bin DEFAULT NULL ,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

5、canal配置

6、同步管理

7、测试

在源库中增加、修改、删除数据,在目标库中会准实时跟着变更。

 

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
11月前
|
缓存 Java 数据库连接
猫头虎的技术笔记:Spring Boot启动报错解决方案
猫头虎的技术笔记:Spring Boot启动报错解决方案
240 0
|
JSON 运维 Dubbo
Dubbo3 源码解读-宋小生-18:Dubbo3元数据服务MetadataService的导出
> 完整电子书下载地址: https://developer.aliyun.com/ebook/7894 > Dubbo3 已经全面取代 HSF2 成为阿里的下一代服务框架,2022 双十一基于 Dubbo3 首次实现了关键业务不停推、不降级的全面用户体验提升,从技术上,大幅提高研发与运维效率的同时地址推送等关键资源利用率提升超 40%,基于三位一体的开源中间件体系打造了阿里在云上的单元化最佳实
480 0
Dubbo3 源码解读-宋小生-18:Dubbo3元数据服务MetadataService的导出
|
存储 消息中间件 SpringCloudAlibaba
SA实战 ·《SpringCloud Alibaba实战》第21章-服务配置:服务配置介绍与Nacos核心概念
SA实战 ·《SpringCloud Alibaba实战》第21章-服务配置:服务配置介绍与Nacos核心概念
215 0
SA实战 ·《SpringCloud Alibaba实战》第21章-服务配置:服务配置介绍与Nacos核心概念
|
微服务
ZooKeeper分布式配置——看这篇就够了(3)
ZooKeeper分布式配置——看这篇就够了
126 0
ZooKeeper分布式配置——看这篇就够了(3)
|
SpringCloudAlibaba 分布式计算 运维
SA实战 ·《SpringCloud Alibaba实战》专栏开篇!
今天是2022年清明假期的前一天,前段时间一直有小伙伴问我啥时能出一个SpringCloud Alibaba实战的系列文章。最近一段时间,冰河手上的事情确实是太多了,有点忙不过来。
547 0
SA实战 ·《SpringCloud Alibaba实战》专栏开篇!
|
消息中间件 SpringCloudAlibaba 关系型数据库
SA实战 ·《SpringCloud Alibaba实战》第25章-分布式事务:项目整合Seata实现分布式事务
大家好,我是冰河~~ ❝ 一不小心《SpringCloud Alibaba实战》专栏都更新到第25章了,再不上车就跟不上了,小伙伴们快跟上啊! 注意:本项目完整源码加入 「冰河技术」 知识星球即可获取,文末有入场方式。
235 0
|
SpringCloudAlibaba 监控 微服务
SA实战 ·《SpringCloud Alibaba实战》第26章-专栏总结与后续规划
一不小心《SpringCloud Alibaba实战》专栏都更新完了,再不上车就跟不上了,小伙伴们快跟上啊!
329 0
SA实战 ·《SpringCloud Alibaba实战》第26章-专栏总结与后续规划
|
SQL 消息中间件 SpringCloudAlibaba
SA实战 ·《SpringCloud Alibaba实战》第24章-分布式事务:分布式事务核心原理与Seata介绍
大家好,我是冰河~~ ❝ 一不小心《SpringCloud Alibaba实战》专栏都更新到第24章了,再不上车就跟不上了,小伙伴们快跟上啊! 注意:本项目完整源码加入 「冰河技术」 知识星球即可获取,文末有入场方式。 Seata相关的内容来自Seata官网。 链接:https://seata.io/zh-cn/docs/overview/what-is-seata.html
314 0
SA实战 ·《SpringCloud Alibaba实战》第24章-分布式事务:分布式事务核心原理与Seata介绍
|
缓存 监控 Java
[原创]SpringBoot服务监控-SpringBootAdmin
[原创]SpringBoot服务监控-SpringBootAdmin
[原创]SpringBoot服务监控-SpringBootAdmin
|
SpringCloudAlibaba 负载均衡 监控
SA实战 ·《SpringCloud Alibaba实战》第11章-服务容错加餐:Sentinel核心技术 上
SA实战 ·《SpringCloud Alibaba实战》第11章-服务容错加餐:Sentinel核心技术
131 0
SA实战 ·《SpringCloud Alibaba实战》第11章-服务容错加餐:Sentinel核心技术 上