otter 数据库单向同步和双向同步

  1. OtterManager安装配置

    1. MySQL安装

安装MySQL:

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

rpm -ivh mysql57-community-release-el7-9.noarch.rpm

yum install mysql-server

初始化MySQL:

mysqld --initialize

启动MySQL:

systemctl start mysqld

查看MySQL运行状态:

systemctl status mysqld

验证MySQL安装:

[root@host]# mysqladmin –version

mysqladmin Ver 8.23 Distrib 5.0.9-0, for redhat-linux-gnu

设置MySQL密码:

[root@host]# mysqladmin -u root password "newPassword";

2 安装配置JDK

zookeeper和Otter-manager都依赖java环境

安装JDK

wget http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz

tar -zxvf jdk-7u79-linux-x64.tar.gz

mv jdk1.7/ /usr/local/

设定JAVA_HOME环境变数

vim /etc/profile

export JAVA_HOME=/usr/local/jdk1.7

export JRE_HOME=/usr/local/jdk1.7/jre

export

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:

export PATH=$JAVA_HOME/bin:$PATH

执行命令使其生效

source /etc/profile

执行java -version会看到如下版本信息证明已经安装成功

[root@localhost local]# java -version

java version“1.8.0_65”

Java(TM)SE Runtime Environment(build 1.8.0_65-b17)

Java HotSpot(TM)64-Bit Server VM(build 25.65-b01,mixed mode)

Zookeeper安装

安装配置zookeeper单机模式

cd /app/work

wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz

tar zxvf zookeeper-3.4.5.tar.gz -C /app/work/zookeeper

mv zookeeper-3.4.5 zookeeper

cd /app/work/zookeeper/

mv conf/zoo_sample.cfg conf/zoo.cfg

mkdir -p /app/work/data/zookeeper/{data,log}

cd /app/work/data/zookeeper/data

echo 1 > myid #将本节点id设定到data/myid档案中

修改bin/zkEnv.sh指令码:

将ZOO_LOG_DIR=”.”修改为

ZOO_LOG_DIR=“/app/work/data/zookeeper/log”

将ZOO_LOG4J_PROP=”INFO,CONSOLE”修改为

ZOO_LOG4J_PROP=“INFO,ROLLINGFILE”

修改bin/zkServer.sh指令码:

将ZOOBIN=”${BASH_SOURCE-$0}”修改为

ZOOBIN=`readlink -f“${BASH_SOURCE-$0}”`

修改bin/zkCli.sh指令码:

将ZOOBIN=”${BASH_SOURCE-$0}”修改为

ZOOBIN=`readlink -f“${BASH_SOURCE-$0}”

建立软联机到PATH:

ln -s /app/work/zookeeper/bin/zkServer.sh /usr/local/bin/zk-server

ln -s /app/work/zookeeper/bin/zkCli.sh /usr/local/bin/zk-cli

使用如下命令即可启动zookeeper:

zk-server start

以下输出为执行成功

JMX enabled by default ...

Starting zookeeper…STARTED

Manager安装

开始安装manager

mkdir /app/work/manager

cd /app/work/manager

wget https://github.com/alibaba/otter/releases/download/v4.2.15/manager.deployer-4.2.15.tar.gz

tar zxvf manager.deployer-4.2.15.tar.gz -C /app/work/manager

安装manager的数据库

wget https://raw.github.com/alibaba/otter/master/manager/deployer/src/main/resources/sql/otter-manager-schema.sql

mysql -uroot -p

#输入mysql密码

source /app/work/manager/otter-manager-schema.sql

修改vim conf/otter.properties配置档案

## otter manager domain name #修改为正确访问ip(内网访问配置内网地址外网访问配置外网地址),生成URL使用

otter.domainName = 127.0.0.1

## otter manager http port

otter.port = 8080

## otter manager database config,修改为正确数据库信息

otter.database.driver.url = jdbc:mysql://127.0.0.1:3306/otter

otter.database.driver.username = root

otter.database.driver.password = password

 

## default zookeeper address,修改为正确的地址,手动选择一个地域就近的zookeeper丛集列表,zookeeper预设端口2181

otter.zookeeper.cluster.default = 127.0.0.1:2181

启动manager

./bin/startup.sh

检查日志 logs/manager.log

如下输出则为启动成功:

 

浏览器访问 http://ip:8080/ 出现如下界面说明Manager安装成功

OtterNode安装配置

 Aria2安装

aria2是一个档案信道来保证需要同步的数据通过极快的速度同步到需要同步的服务器上

aria2安装第一种方式

cd /app/work/

wget http://sourceforge.net/projects/aria2/files/stable/aria2-1.17.1/aria2-1.17.1.tar.gz

tar zxvf aria2-1.17.1.tar.gz

mv aria2-1.17.1 aria2

cd aria2

./configure

make

make install

验证安装是否成功

aria2c -v

输出

aria2 version 1.17.1

Copyright(C)2006,2013 Tatsuhiro Tsujikawa

 

第二种安装方式(主要解决第一种方式安装时tar包编译不通过的情况):

在有网络服务器上执行下面的命令,意思就是下载aria2的相关rpm包到tmp目录下。

yum install --downloadonly --downloaddir=/tmp aria2

然后把下载好的rpm传到要想安装aria2 的服务器上

执行命令 rpm –ivh aria2的相关包(可以使用*.rpm)--force --nodeps

Node安装

node主要负责接受manage下发任务的处理

安装

mkdir /app/work/node

wget https://github.com/alibaba/otter/releases/download/v4.2.15/node.deployer-4.2.15.tar.gz

tar xf node.deployer-4.2.13.tar.gz –C /app/work/node

cd /app/work/node/

nid配置node的ID多个node协同工作时不能重复

echo 1 > conf/nid

修改配置档案vim conf/otter.properties

#主要是确认联机manager地址是否正确(这里使用服务器内网地址进行配置)

otter.manager.address =127.0.0.1:1099(根据前面配置的Manager地址修改)

顺序是先配置好manager在开启node,因为启动了node要是manager没有配置是没法建立联机的.

Manager、Node、Zookeepper关联

首先打开Manager管理页面http://ip:8080/

使用默认密码admin/admin登陆

机器管理—>zookeeper配置 选中点击:

添加Zookeeper

添加Zookeeper地址并保存

机器管理—>NODE管理 选中点击—>添加NODE:

配置好node的一些参数:

机器名称:可以随意定义,方便自己记忆即可

机器ip:对应node节点将要部署的机器ip,如果有多ip时,可选择其中一个ip进行暴露.(此ip是整个丛集通信的入口,实际情况千万别使用127.0.0.1,否则多个机器的node节点会无法识别)

机器端口:对应node节点将要部署时启动的数据通信端口,建议值:2088

下载端口:对应node节点将要部署时启动的资料下载端口,建议值:9090

外部ip:对应node节点将要部署的机器ip,存在的一个外部ip,允许通信的时候走公网处理。

Zookeeper地址:为提升通信效率,不同机房的机器可选择就近的zookeeper地址

node这种设计,是为解决单机部署多例项而设计的,允许单机多node指定不同的端口“:

以上配置完成就可以启动node:

cd /app/work/node/bin/

./startup.sh

启动前后NODE状态由未启动变为已启动

zookeeper页面点选”查看”选项可以看到zookeeper已经在执行了:

注:如果过程中出现问题的地方可以查看node/logs中的日志
配置管理

创建一个测试库

CREATE DATABASE `test`;

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;

数据源配置

第一步数据源配置—>添加(添加完成保存前一定要测试验证一下)

同样的方式新增另一个数据源slave

数据表配置

首先添加master数据表

添加完成保存前一定要测试验证一下

同样方式添加slave数据表

canal配置

添加canal

注意需要双向同步则需要继续添加slave最为数据源

单向同步管理配置

  同步规则配置

添加Channel

点击Channel名字进入内部设置

点击Pipline名字进入内部设置(映射关系配置同步的原表和目标表)

 

 

开启同步并验证

开启

验证

双向同步管理配置

 

  1. 双写配置

如果双写,需要执行下面步骤

点击使用文档-》数据库初始化页面。

在双机房的数据库(需要同步数据的数据库,而非manager自己的数据库)同时执行初始化SQL。

 

同步规则配置

还需要添加一个canal 数据源为你后面需要同步的数据库

添加Channel

点击Channel名字进入内部设置

添加第一个Pipline(master2slave)

添加第二个Pipline(slave2master)

点击Pipline名字进入内部设置(映射关系配置同步的原表和目标表)

两个Pipline映射关系都配置(注意选择正确的同步方向)

    1. 开启同步并验证

开启

验证

猜你喜欢

转载自blog.csdn.net/liaoxiaolin520/article/details/85779256