otter部署【原创】

时间:2022-09-28 07:32:52

环境
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管理

otter部署【原创】

otter部署【原创】

2、Node管理

otter部署【原创】

otter部署【原创】

3、数据源配置

otter部署【原创】

otter部署【原创】

otter部署【原创】

otter部署【原创】

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;

otter部署【原创】

otter部署【原创】

otter部署【原创】

otter部署【原创】

5、canal配置

otter部署【原创】

otter部署【原创】

6、同步管理

otter部署【原创】

otter部署【原创】

otter部署【原创】

otter部署【原创】

otter部署【原创】

otter部署【原创】

otter部署【原创】

otter部署【原创】

otter部署【原创】

7、测试

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

otter部署【原创】的更多相关文章

  1. mysql数据库同步系统otter部署实践(中国与欧洲同步)

    otter的介绍就不说了, 自己去看官网https://github.com/alibaba/otter/wiki 本系统中, 中国的服务器部署在阿里云上, 欧洲服务器部署在亚马逊上, 由于阿里云的网 ...

  2. Hyperledger fabric 1.3版本的安装部署(原创多机多Orderer部署

    首先,我们在安装前,要考虑一个问题 Hyperledger Fabric,通过指定的节点进行背书授权,才能完成交易的存储 延伸开来,就是为了实现容错.高并发.易扩展,需要zookeeper来选择排序引 ...

  3. keeplived + mysql双主复制部署 --原创

    环境: master 1: 192.168.100.10  oracle  linux 7.4  mysql 5.7.1 master 2: 192.168.100.11 oracle  linux ...

  4. 拥抱云原生,如何将开源项目用k8s部署?

    微信搜索[阿丸笔记],关注Java/MySQL/中间件各系列原创实战笔记,干货满满. k8s以及云原生相关概念近年来一直比较火热,阿丸最近搞了个相关项目,小结一下. 本文将重点分享阿里开源项目otte ...

  5. 阿里mysql同步工具otter的docker镜像

    https://github.com/dearplain/otter_manager https://github.com/dearplain/otter_node 本人开发的小巧docker镜像,根 ...

  6. windows平台上运行Flink_转载于CSDN

    Flink安装部署-window 本地部署原创冰上浮云 发布于2019-08-17 15:56:06 阅读数 633 收藏分类专栏: flink版权声明:本文为博主原创文章,遵循 CC 4.0 BY- ...

  7. [原创]java WEB学习笔记44:Filter 简介,模型,创建,工作原理,相关API,过滤器的部署及映射的方式,Demo

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  8. “500 oops socket” Debian 9 running via Linux Deploy上成功部署vsftpd的解决方案(201901原创)【成功完美简单极致】

    "500 oops socket" Debian 9 running via Linux Deploy上成功部署vsftpd的解决方案(201901原创)[成功完美简单极致] #自 ...

  9. 理想的DevOp流程怎么做?看看Slack的代码部署实践 原创 Michael Deng 高可用架构 今天

    理想的DevOp流程怎么做?看看Slack的代码部署实践 原创 Michael Deng  高可用架构  今天

随机推荐

  1. python grammar、C/C++ Python Parsing Engine

    catalog . Python语言简介 . Python模块 . 嵌入式Python解析引擎: C++调用Python . Python 调用 C (base) . 扩展Python语法解析器功能: ...

  2. Odoo Many2many 指定默认分组过滤

    在odoo里如果想单击某个菜单打开的页面是自带过滤的,可以在打开菜单的动作中添加默认过滤来实现,今天有同学在群里问,如何在Many2many的添加更多的弹出窗口中添加类似的过滤,其实是非常非常简单的, ...

  3. 《编写高质量代码-Web前端开发修改之道》笔记--第二章 团队合作

    本章内容: 揭秘前端开发工程师 欲精一行,必先通十行 增加代码的可读性--注释 提高重用性--公共组件和私有组件的维护 冗余和精简的矛盾--选择集中还是选择分散 磨刀不误砍柴工--前期的构思很重要 制 ...

  4. capwap学习笔记——初识capwap(五)(转)

    3. CAPWAP Binding for IEEE 802.11 ¢ CAPWAP协议本身并不包括任何指定的无线技术.它依靠绑定协议来扩展对特定无线技术的支持. ¢ RFC5416就是用来扩展CAP ...

  5. java_方法引用

    什么是方法引用? 个人简述方法引用: 方法引用主要是针对已经有的方法来让目前的编程更加简洁 当我们想要使用一个接口的子类的时候,子类需要重写这个接口中的抽象方法, 被重写的这个方法参数列表固定,返回值 ...

  6. java线程学习之Sleep方法

    sleep方法是在线程中常用到的一个方法,它是一个静态方法. sleep(long millis)       在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度 ...

  7. APM实践目录

    长路漫漫,如果不能作出一款可用开源的东西出来,那是对时光的浪费.   这是我的学习分布式调用链的实践之路! 思考大纲: .Net架构篇:思考如何设计一款实用的分布式监控系统? 理论篇: http:// ...

  8. shell 命令 -- 漂亮的资源查看命令 htop

    htop 相较top,htop更加直接和美观.

  9. 201521123035-个人作业4——alpha阶段个人总结

    个人总结 在alpha 结束之后, 每位同学写一篇个人博客, 总结自己的alpha 过程: 第一部分 类别 具体技能和面试问题 现在的回答(大三) 语言 最拿手的计算机语言是一?,代码量多少?(偏前端 ...

  10. 通过jdbc使用PreparedStatement,提升性能,防止sql注入

    为什么要使用PreparedStatement? 一.通过PreparedStatement提升性能 Statement主要用于执行静态SQL语句,即内容固定不变的SQL语句.Statement每执行 ...