环境
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、测试
在源库中增加、修改、删除数据,在目标库中会准实时跟着变更。
otter部署【原创】的更多相关文章
-
mysql数据库同步系统otter部署实践(中国与欧洲同步)
otter的介绍就不说了, 自己去看官网https://github.com/alibaba/otter/wiki 本系统中, 中国的服务器部署在阿里云上, 欧洲服务器部署在亚马逊上, 由于阿里云的网 ...
-
Hyperledger fabric 1.3版本的安装部署(原创多机多Orderer部署
首先,我们在安装前,要考虑一个问题 Hyperledger Fabric,通过指定的节点进行背书授权,才能完成交易的存储 延伸开来,就是为了实现容错.高并发.易扩展,需要zookeeper来选择排序引 ...
-
keeplived + mysql双主复制部署 --原创
环境: master 1: 192.168.100.10 oracle linux 7.4 mysql 5.7.1 master 2: 192.168.100.11 oracle linux ...
-
拥抱云原生,如何将开源项目用k8s部署?
微信搜索[阿丸笔记],关注Java/MySQL/中间件各系列原创实战笔记,干货满满. k8s以及云原生相关概念近年来一直比较火热,阿丸最近搞了个相关项目,小结一下. 本文将重点分享阿里开源项目otte ...
-
阿里mysql同步工具otter的docker镜像
https://github.com/dearplain/otter_manager https://github.com/dearplain/otter_node 本人开发的小巧docker镜像,根 ...
-
windows平台上运行Flink_转载于CSDN
Flink安装部署-window 本地部署原创冰上浮云 发布于2019-08-17 15:56:06 阅读数 633 收藏分类专栏: flink版权声明:本文为博主原创文章,遵循 CC 4.0 BY- ...
-
[原创]java WEB学习笔记44:Filter 简介,模型,创建,工作原理,相关API,过滤器的部署及映射的方式,Demo
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
-
“500 oops socket” Debian 9 running via Linux Deploy上成功部署vsftpd的解决方案(201901原创)【成功完美简单极致】
"500 oops socket" Debian 9 running via Linux Deploy上成功部署vsftpd的解决方案(201901原创)[成功完美简单极致] #自 ...
-
理想的DevOp流程怎么做?看看Slack的代码部署实践 原创 Michael Deng 高可用架构 今天
理想的DevOp流程怎么做?看看Slack的代码部署实践 原创 Michael Deng 高可用架构 今天
随机推荐
-
python grammar、C/C++ Python Parsing Engine
catalog . Python语言简介 . Python模块 . 嵌入式Python解析引擎: C++调用Python . Python 调用 C (base) . 扩展Python语法解析器功能: ...
-
Odoo Many2many 指定默认分组过滤
在odoo里如果想单击某个菜单打开的页面是自带过滤的,可以在打开菜单的动作中添加默认过滤来实现,今天有同学在群里问,如何在Many2many的添加更多的弹出窗口中添加类似的过滤,其实是非常非常简单的, ...
-
《编写高质量代码-Web前端开发修改之道》笔记--第二章 团队合作
本章内容: 揭秘前端开发工程师 欲精一行,必先通十行 增加代码的可读性--注释 提高重用性--公共组件和私有组件的维护 冗余和精简的矛盾--选择集中还是选择分散 磨刀不误砍柴工--前期的构思很重要 制 ...
-
capwap学习笔记——初识capwap(五)(转)
3. CAPWAP Binding for IEEE 802.11 ¢ CAPWAP协议本身并不包括任何指定的无线技术.它依靠绑定协议来扩展对特定无线技术的支持. ¢ RFC5416就是用来扩展CAP ...
-
java_方法引用
什么是方法引用? 个人简述方法引用: 方法引用主要是针对已经有的方法来让目前的编程更加简洁 当我们想要使用一个接口的子类的时候,子类需要重写这个接口中的抽象方法, 被重写的这个方法参数列表固定,返回值 ...
-
java线程学习之Sleep方法
sleep方法是在线程中常用到的一个方法,它是一个静态方法. sleep(long millis) 在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度 ...
-
APM实践目录
长路漫漫,如果不能作出一款可用开源的东西出来,那是对时光的浪费. 这是我的学习分布式调用链的实践之路! 思考大纲: .Net架构篇:思考如何设计一款实用的分布式监控系统? 理论篇: http:// ...
-
shell 命令 -- 漂亮的资源查看命令 htop
htop 相较top,htop更加直接和美观.
-
201521123035-个人作业4——alpha阶段个人总结
个人总结 在alpha 结束之后, 每位同学写一篇个人博客, 总结自己的alpha 过程: 第一部分 类别 具体技能和面试问题 现在的回答(大三) 语言 最拿手的计算机语言是一?,代码量多少?(偏前端 ...
-
通过jdbc使用PreparedStatement,提升性能,防止sql注入
为什么要使用PreparedStatement? 一.通过PreparedStatement提升性能 Statement主要用于执行静态SQL语句,即内容固定不变的SQL语句.Statement每执行 ...