阿里 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会挂起,点击推送后恢复正常运行
阿里 otter搭建过程整理的更多相关文章
- 【安装】Hadoop2.8.0搭建过程整理版
Hadoop搭建过程 前期环境搭建主要分为软件的安装与配置文件的配置,集成的东西越多,配置项也就越复杂. Hadoop集成了一个动物园,所以配置项也比较多,且每个版本之间会有少许差异. 安装的方式有很 ...
- 基于idea的springcloud的helloworld项目搭建过程整理
Springcloud的搭建主要包括三个部分:服务注册中心.服务提供者.服务消费者.每一个部分都是一个springboot项目,它们通过配置文件(application.properties或appl ...
- CI-CD平台搭建过程整理
Coding ---> gitlab --->jenkins ---> maven(nexus) ---> 编译构建成image ---> Harbor ---> ...
- Hyperledger Fabric1.4环境搭建过程
简单记录一下fabric版本1.4的环境搭建,运行环境为Ubuntu18.04,其中一些内容是根据官方文档整理的,如有错误欢迎批评指正. 本文只介绍最简单的环境搭建方法,具体的环境搭建解析在这里深入解 ...
- 分布式实时日志系统(一)环境搭建之 Jstorm 集群搭建过程/Jstorm集群一键安装部署
最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...
- Hexo的详细搭建过程——小白的血泪经历QAQ
Hexo的详细搭建过程 环境要求: node.js git 这里提供Centos8.2下的安装过程: dnf module list nodejs dnf module install nodejs: ...
- 阿里云搭建elk
参考了阿里云搭建ELK日志平台安装过程. 系统环境 阿里云ECS 2C2G CentOS 7.6 请确保机器配置至少4G!!! 配置秘钥 1.下载并安装公共签名密钥 [root@aliplay ~]# ...
- Maven多模块,Dubbo分布式服务框架,SpringMVC,前后端分离项目,基础搭建,搭建过程出现的问题
现互联网公司后端架构常用到Spring+SpringMVC+MyBatis,通过Maven来构建.通过学习,我已经掌握了基本的搭建过程,写下基础文章为而后的深入学习奠定基础. 首先说一下这篇文章的主要 ...
- Access应用笔记<四>-一个完整的自动化报表搭建过程
距离之前的三篇日志已经很久啦,今天终于完成了一个比较完整的自动化报表搭建过程 基于公司数据保密原则,样板就不放到网上来了,简单说一下背景: 这次access实现的功能包括: 1)为部门整体搭建了一个员 ...
随机推荐
- Image Blending
给定两幅或者多幅图像,如何无缝自然拼接,这就是Image Blending 需要解决的问题(演示效果请看http://blog.sina.com.cn/s/blog_67f034a50100iuqt. ...
- hdu 4717(三分求极值)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4717 思路:三分时间求极小值. #include <iostream> #include ...
- 廖雪峰js教程笔记14 file文件操作
在HTML表单中,可以上传文件的唯一控件就是<input type="file">. 注意:当一个表单包含<input type="file" ...
- JS冒泡排序(数组)
冒泡排序是把数组相邻的两个值进行比较,然后根据条件执行相应的命令 var arr = [0,4,8,5,2,7,1,3,6,9]; for(var s = 0;s<arr.length;s++) ...
- 实践:Backbone作前端,Django+Tastypie作后端的简单Web在线聊天室
一.界面设计: 二.数据模型设计 id 每个发言都有一个独立的id由tastypie自动生成 content 发言的内容 username 发言者 date 发言时间 三.前端制作 这里没有用到Bac ...
- oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件
总结: 1 .三个配置文件都是放在$ORACLE_HOME\network\admin目录下. 2 .sqlnet.ora确定解析方式 3 .listener.ora上设SID_NAME,通常用于JD ...
- 黑科技装点圣诞节,美国邮政局用AR APP邮寄圣诞包裹
AR手游<精灵宝可梦Go>的出现将增强现实技术带到了众人的视线中,各大公司纷纷紧抓AR的发展前景,同时积极将AR功能引入自家产品中.临近圣诞,又到了一年一度的快递高峰期,据591ARVR资 ...
- 聊下并发和Tomcat线程数(错误更正)
本文前半部分结论存在严重错误,请看最后2015-1-20更新部分. 最近一直在解决线上一个问题,表现是: Tomcat每到凌晨会有一个高峰,峰值的并发达到了3000以上,最后的结果是Tomcat线程池 ...
- debian C++ OTL库 用 unixodbc 连接 mysql 小记
这个东东也是折腾了几天,网上很多文章可能已经过时,所以写下不同,以备后用. 参考网址: http://blog.csdn.net/genganpeng/article/details/7402229 ...
- discuz sphinx全文检索搜索引擎方案
基于discuz的索引配置文件,这个配置文件比较灵活,可以根据不同的需求来配置 # # linuxTone full index search configure file # source lt_p ...