安装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"; |
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单机模式
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
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安装成功
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主要负责接受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管理页面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已经在执行了:
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
注意需要双向同步则需要继续添加slave最为数据源
添加Channel
点击Channel名字进入内部设置
点击Pipline名字进入内部设置(映射关系配置同步的原表和目标表)
开启
验证
如果双写,需要执行下面步骤
点击使用文档-》数据库初始化页面。
在双机房的数据库(需要同步数据的数据库,而非manager自己的数据库)同时执行初始化SQL。
还需要添加一个canal 数据源为你后面需要同步的数据库
添加Channel
点击Channel名字进入内部设置
添加第一个Pipline(master2slave)
添加第二个Pipline(slave2master)
点击Pipline名字进入内部设置(映射关系配置同步的原表和目标表)
两个Pipline映射关系都配置(注意选择正确的同步方向)
开启
验证