1 环境说明:

本机ip 192.168.8.3

虚拟机1 ip 192.168.8.5

虚拟机2 ip 192.168.8.6

虚拟机采取桥接模式

虚拟机系统为CentOS 2.6.32-279.el6.i686

java版本 1.6.0-24

mysql版本 5.1.61-log

2 虚拟机8.5搭建otter

2.0配置固定ip和修改host

2.0.1 虚拟机8.5 ip为192.168.8.5

vi /etc/syscnfig/network-script/ifcfg-eth0

        DEVICE="eth0"

        BOOTPROTO="static"

        IPADDR="192.168.8.5"

        NETMASK="255.255.255.0"

        HWADDR="00:0C......."

        NM_CONTROLLED="YES"

        ONBOOT="yes"

        .........

2.0.2 修改host

vi /etc/hosts

        192.168.8.5 localhost.localdomain

2.1 关闭防火墙

root用户 service iptables stop

2.2 安装mysql

2.2.1 用户为 root,密码为hello

2.2.2 修改mysql的配置文件

vi /etc/my.cnf

    [mysqld]

    log-bin=mysql-bin

binlog-frmat=ROW

server-id=1

datadir=/vat/lib/mysql/data

socket=/var/lib/mysql/mysql.sock

user=mysql

symbolic-links=0

default-character-set=utf8

其中,log-bin为打开mysql的binlog二进制日志

binlog-format为列模式

server-id需要保证不同的数据库的id不相同,具有唯一性

datadir为数据存储的文件夹,没有的话需要进行创建

default-character-set=utf8,为设置mysql的默认字符集为utf-8

2.2.2 初始化otter数据库,初始化sql为文件夹中的 otter-manager-schema.sql

2.2.3 搭建双A模式,需要初始化数据库retl,初始化sql为文件夹中的otter-manager-retl.sql。

2.2.4 新建个测试库 test,新建一张测试表test

create table test(id int(11),name varchar(32));

2.3 安装jdk,并配置环境变量,otter推荐使用1.6.5,说是稳定

2.4 安装 aria2(node需要aria2c的支持)

2.4.1 下载压缩包

2.4.2 tar –zxvf aria2-1.17.1.tar.gz

2.4.3 mv aria2-1.17.1 aria2

2.4.4 mv aria2 /usr/local

2.4.5 cd /usr/local/aria2

2.4.6 ./configure

2.4.7 make

2.4.8 make install

2.5 安装node

2.5.1 下载压缩包

2.5.2 mkdir node

2.5.3 mv node.deployer-4.2.11.tar.gz ./node

2.5.4 tar –zxvf node.deployer-4.2.11.tar.gz

2.5.5 mv node.deployer-4.2.11.tar.gz ../

2.5.6 mv ../node /usr/local

2.5.7 cd /usr/local/node

2.5.8 manager安装成功之后,在机器管理/node管理中添加上本机的node之后,可以看到这个node对应的序号

上图中 8.5虚拟机的node序号为1,8.6虚拟机的node序号为2

2.5.9 进入node的conf文件夹

2.5.10 echo 1 > nid

node的日志在 logs/node/node.log

2.6 安装zookeeper

2.6.1 下载压缩包

2.6.2 tar –zxvf zookeeper-3.4.5-cdh4.3.0.tar.gz

2.6.3 mv zookeeper-3.4.5-cdh4.3.0 zookeeper

2.6.4 cd ./zookeeper /usr/local

2.6.5 cd /usr/local/zookeeper/conf

2.6.6 cp zoo_sample.cfg zoo.cfg

2.6.7 vi zoo.cfg

文件中 clientPort为zookeeper的端口号

2.6.8 cd ../bin

zookeeper启动的时候打印日志到bin目录下的zookeeper.out,如果不习惯,可以修改为打印到log日志,修改步骤如下

a 修改conf/log4j.properties

zookeeper.root.logger=INFO, CONSOLE

改成

zookeeper.root.logger=INFO,ROLLINGFILE

b 修改bin/zkEvn.sh文件,

if [ "x${ZOO_LOG4J_PROP}" = "x" ]

then

ZOO_LOG4J_PROP="INFO,CONSOLE"

fi

改成

if [ "x${ZOO_LOG4J_PROP}" = "x" ]

then

ZOO_LOG4J_PROP="INFO,ROLLINGFILE"

fi

c 这样再启动zkSever.sh start的时候 就会生成log4j.properties配置的中设定的zookeeper.log文件。

2.6.9 启动zookeeper

./zkServer.sh start

停止命令为 ./zkServer.sh stop

2.7 安装manager(需要zookeeper的支持)

2.7.1 下载manager.deployer-4.2.11.tar.gz

2.7.2 mkdir manager

2.7.3 mv manager.deployer-4.2.11.tar.gz ./manager

2.7.4 cd ./manager

2.7.5 tar –zxvf manager.deployer-4.2.11.tar.gz

2.7.6 mv manager.deployer-4.2.11.tar.gz ../

2.7.7 cd ../

2.7.8 mv ./manager /usr/local

2.7.9 cd /usr/local/manager/conf

2.7.10 vi otter.properties

a otter.domaniName 可以写本机hostname,但是要修改/etc/hosts,保证hostname映射为本机的固定ip

b otter.port 为manager管理端的端口,即web工程的端口

c otter.database.driver.url为mysql地址和数据库实例,写本机ip而不是127.0.0.1,写127.0.0.1,8.6虚拟机访问不到

d otter.database.driver.username为数据库的用户名

e otter.database.driver.password 为数据库的密码

f otter.communication.manager.port为manager的服务端口

g otter.zookeeper.cluster.default为zookeeper的地址,包括本机ip和端口,这个端口就是zookeeper的conf中的zoo.cfg中的clientPort

2.7.11 启动manager

./bin/startup.sh

如果文件夹中有otter.pid文件,说明manage已经启动或者上次没有关闭,先执行一次 ./stop.sh ,就可以启动起来了

manager的日志在 logs/manager.log

3 虚拟机8.6安装数据库和node

3.0 设置固定ip和修改hosts

3.1 安装mysql

配置/etc/my.cnf

注意server-id号和虚拟机8.5的mysql的server-id不同

3.2 安装node

3.3 配置固定ip

4 操作步骤

4.1 192.168.8.5虚拟机

4.1.1 关闭防火墙

service iptables stop

4.1.2 root开启mysql数据库

可以通过以下操作本地登陆mysql数据库

4.1.3 开启zookeeper

  root用户

  cd /usr/local/zookeeper/bin

./zkServer.sh start

./zkServer.sh stop

4.1.4 开启manager

cd /usr/local/manager/bin

./startup.sh

可以通过 tail –f ../logs/manager.log 通过日志查看查看开启状态

4.1.5 开启node

cd /usr/local/node/bin

./startip.sh

通过以下操作查看node开启状态

4.2 192.168.8.6 虚拟机

4.2.1 root用户关闭防火墙

service iptables stop

4.2.2 启动mysql数据库

service mysqld start

使用以下命令本地连接数据库查看

mysql -y root -phello

4.2.3 启动node

4.3 otter配置(虚拟机192.168.8.5中进行操作)

4.3.1 登陆 http://192.168.8.5:8080/login.htm

用户名:admin

密码:    admin

4.3.2 配置zookeeper管理    (机器管理/zookeeper管理)

zookeeper集群填写的是你启动zookeeper的机器的ip地址,端口号为zookeeper/conf/配置的clientPort

4.3.3 配置node

机器端口 2088

下载端口 9090

配置完成后,会在列表中显示,如果node节点已经正常启动,列表中对应node的状态为已启动

4.3.4 配置数据源(配置管理/数据源配置)

如果数据库url配置对了,用户名密码正确,数据库默认编码为utf8,则能成功验证数据库

4.3.5 配置表

schema name为数据库名称

table name为表名称,如果要做全库的同步,可以用 .* 表示

添加完的表在下图中列表中

4.3.6 配置canal(配置管理/canal配置)

填写 canal名称,数据库地址,账户,密码,位点信息,其中,位点信息格式复制例子,journalName 、position 和 timestamp可以通过对应数据库的执行相应sql取得

select unix_timestamp(now());

show mastr status;

4.3.7 配置同步管理

基于当前日志变更

列记录模式

4.3.8 配置Pipeline(点击配置好的Channel名称进入)

Pipeline名称可以随便取

select机器和load机器选项选择同一个node节点,采取就近原则,8.5的虚拟机向8.6同步数据库,选择8.5节点,8.6虚拟机向8.5同步数据库选择8.6节点

选择Canal,8.5向8.6同步,选择5>>>6(double) Canal;8.6向8.5同步,选择6>>>5(double)

4.3.9 配置关系映射表

源数据表和目标数据表选择,选择的是数据表配置的某个项。

4.3.10 调整设置

双A互备,就是两个单向的同步

其中,一个设置为主站点,另一个设置为非主站点

在高级设置中,一个设置为支持ddl同步,一个设置为不支持ddl同步,原因是一个Channel中只能有一个ddl,要不会冲突

配置完之后,点击Channel管理,选择对应的Channel,点击启动

运行状态变成运行。

配置完成

5 验证效果

5.1  虚拟机8.5中插入一条记录

8.6虚拟机mysql

测试反向8.6向8.5同步

8.5 mysql

5.2 现在验证出效果    :

5.2.1无论channel是否运行,点击推送,都可以同步两个数据库的数据

5.2.2 channel配置的两个数据库,一个数据库停止,channel会挂起,点击推送后恢复正常运行

阿里 otter搭建过程整理的更多相关文章

  1. 【安装】Hadoop2.8.0搭建过程整理版

    Hadoop搭建过程 前期环境搭建主要分为软件的安装与配置文件的配置,集成的东西越多,配置项也就越复杂. Hadoop集成了一个动物园,所以配置项也比较多,且每个版本之间会有少许差异. 安装的方式有很 ...

  2. 基于idea的springcloud的helloworld项目搭建过程整理

    Springcloud的搭建主要包括三个部分:服务注册中心.服务提供者.服务消费者.每一个部分都是一个springboot项目,它们通过配置文件(application.properties或appl ...

  3. CI-CD平台搭建过程整理

    Coding ---> gitlab  --->jenkins ---> maven(nexus) ---> 编译构建成image ---> Harbor ---> ...

  4. Hyperledger Fabric1.4环境搭建过程

    简单记录一下fabric版本1.4的环境搭建,运行环境为Ubuntu18.04,其中一些内容是根据官方文档整理的,如有错误欢迎批评指正. 本文只介绍最简单的环境搭建方法,具体的环境搭建解析在这里深入解 ...

  5. 分布式实时日志系统(一)环境搭建之 Jstorm 集群搭建过程/Jstorm集群一键安装部署

    最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...

  6. Hexo的详细搭建过程——小白的血泪经历QAQ

    Hexo的详细搭建过程 环境要求: node.js git 这里提供Centos8.2下的安装过程: dnf module list nodejs dnf module install nodejs: ...

  7. 阿里云搭建elk

    参考了阿里云搭建ELK日志平台安装过程. 系统环境 阿里云ECS 2C2G CentOS 7.6 请确保机器配置至少4G!!! 配置秘钥 1.下载并安装公共签名密钥 [root@aliplay ~]# ...

  8. Maven多模块,Dubbo分布式服务框架,SpringMVC,前后端分离项目,基础搭建,搭建过程出现的问题

    现互联网公司后端架构常用到Spring+SpringMVC+MyBatis,通过Maven来构建.通过学习,我已经掌握了基本的搭建过程,写下基础文章为而后的深入学习奠定基础. 首先说一下这篇文章的主要 ...

  9. Access应用笔记<四>-一个完整的自动化报表搭建过程

    距离之前的三篇日志已经很久啦,今天终于完成了一个比较完整的自动化报表搭建过程 基于公司数据保密原则,样板就不放到网上来了,简单说一下背景: 这次access实现的功能包括: 1)为部门整体搭建了一个员 ...

随机推荐

  1. webbench之编译安装(一)

    1.编译安装:   1 2 3 4 [root@hexuweb102 ~]$wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar ...

  2. python中threading的用法

    摘自:http://blog.chinaunix.net/uid-27571599-id-3484048.html 以及:http://blog.chinaunix.net/uid-11131943- ...

  3. vim 编辑

  4. HDU4609 & FFT

    关于这道题请移步kuangbin爷的blog:http://www.cnblogs.com/kuangbin/archive/2013/07/24/3210565.html 感觉我一辈子也不能写出这么 ...

  5. Leetcode Divide Two Integers

    Divide two integers without using multiplication, division and mod operator. 不用乘.除.求余操作,返回两整数相除的结果,结 ...

  6. POJ 2386 题解

    Lake Counting 描述 Due to recent rains, water has pooled in various places in Farmer John's field, whi ...

  7. 使用tungsten将mysql的数据同步到hadoop

    背景 线上有很多的数据库在运行,后台需要一个分析用户行为的数据仓库.目前比较流行的是mysql和hadoop平台. 现在的问题是,如何将线上的mysql数据实时的同步到hadoop中,以供分析.这篇文 ...

  8. List集合特有的迭代器 ListIterator

  9. CI,从数据库读取数据

    1.准备数据库,(用户,密码,数据库服务的地址) 2.CI链接数据库,配置database.php(配置文件)       //application/config/database.php 3.准备 ...

  10. #20145205 《Java程序设计》第5周学习总结

    教材学习内容总结 1.java中的错误都会被包装为对象这是书上的一句原话,我的理解就是,在java这个大环境中,就像是流水线工厂一样,代码的编译就是进行流水线作业,代码输进来,开始的时候就是打包封装, ...