阿里 otter搭建过程整理

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会挂起,点击推送后恢复正常运行

时间: 2024-10-13 07:19:30

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

Hyperledger Fabric环境搭建过程

简单记录一下fabric版本1.4的环境搭建,运行环境为Ubuntu18.04,其中一些内容是根据官方文档整理的,如有错误欢迎批评指正. 本文只介绍最简单的环境搭建方法,具体的环境搭建解析在这里深入解析Hyperledger Fabric启动的全过程 . 1.搭建Fabric的前置条件 为了提高下载速度,这里将Ubuntu的源改为国内的源(以阿里源为例): #首先进行配置文件的备份 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #

阿里云搭建VPN

目标: 主机A有外网权限.内网权限: 主机B只有内网权限. 希望在主机A上能搭VPN,作为跳板机器,在本地主机能够直接访问主机B. 尝试1: 在主机A上搭pptpd. 尝试了两天,搜索无数,无论如何访问不了主机B.怀疑阿里云做了限制,检查Mac和IP是否相符 尝试2: 在主机B上搭建OpenVPN.搞定! 参见:http://docs.linuxtone.org/ebooks/VPN/openvpn%E9%9B%86%E5%90%88.pdf 写的相当详细 在Mac上配客户端的过程: 1.安装T

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

最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式处理,采用 flume 收集日志,发送到 kafka 队列做缓冲,storm 分布式实时框架进行消费处理,短期数据落地到 hbase.mongo中,长期数据进入 hadoop 中存储. 接下来打算将这其间所遇到的问题.学习到的知识记录整理下,作为备忘,作为分享,带给需要的人. 淘宝开源了许多产品组件

LAMP搭建--未整理版

[[email protected] ~]#yum search  关键字   //安装过程中提示少哪个程序就搜关键字找包名 [[email protected] httpd-2.2.25]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi --enable-charrset-lite --enable-ssl [[email protected] ~]#useradd -M -s /

loganalyzer搭建过程

试验准备:主机A和主机B,IP地址分别为192.168.131.130和192.168.131.136,操作系统为RHEL6.4 x86_64,为最小化安装,两台服务器均关闭防火墙和SELINUX 安装并设置LAMP环境 安装LAMP环境 # yum -y install httpd mysql mysql-server php php-mysql mysql-devel 启动服务并加入开机启动 启动apache # service httpd start # chkconfig httpd o

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

距离之前的三篇日志已经很久啦,今天终于完成了一个比较完整的自动化报表搭建过程 基于公司数据保密原则,样板就不放到网上来了,简单说一下背景: 这次access实现的功能包括: 1)为部门整体搭建了一个员工基本资料数据库,里面包括从各个系统里获得的员工信息,如Zhang San,一个系统里叫San Zhang,一个系统叫sazhang,一个系统叫sun Zhang.这些信息汇总后,存在部门共享盘里,包括此次的Access,都是直接链接到这个总access表里,这样,有新员工来的时候,只需要更新一个a

Node.js, Express的服务器搭建过程的问题

Node.js, Express的服务器搭建过程的问题 Express : node.js 的框架,根据2012年BYvoid的说法,是node.js官方唯一推荐的框架 怎么搭建项目? - 安装nodejs->npm->express - express 的问题: 2017年, express-generator已经被独立成命令行工具了,所以要用 npm install express-generator 这样才能用express命令 怎么启动项目? 启动服务器可以用node app.js,因

团队-象棋游戏-开发环境搭建过程

开发工具: HBuilder,Google浏览器 搭建过程: HBuilder由之前实训时夏老师提供在酷课网上的压缩包(或在http://www.dcloud.io/中下载).下载后解压注册即可使用 Google浏览器,可以在百度中搜索Google浏览器

《团对-排课系统-开发环境搭建过程》

二〇一七年晚上十半多了八分钟 适合开发工具:Visual Studio 2010 ,Visual Studio 2015 ,Visual Studio 2017 所需环境:windows系统 环境搭建过程:因为所需环境即是windows系统,所以不需要特别搭建...