本文内容讲述如何通过Centos搭建阿里云数据同步利器Otter的运行环境
简述
Otter是基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统。主要解决一个跨地域性的数据同步问题,支持单向同步,双向同步,高可用性部署等。我只要用来解决业务在国际间不同数据库的数据同步问题,当然阿里云也有收费的数据同步解决方案DTS,拥有强大的功能个更低的延迟,根据自身业务不同来进行最合适的选择。
Otter主要分为两个重要组件,manager和node。简单介绍一下,manager就是管理控制界面,node是处理数据同步的机器节点。
第一步 搭建Java运行环境
Java运行环境搭建网上有很多,也可以查看我的关于搭建Java环境的博客,此处推荐使用JDK8及以上。
第二步 搭建Zookeeper
1、下载Zookeeper,https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
我这里下载的是zookeeper-3.4.14
1 | wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz |
2、解压
tar –zxvf zookeeper-3.4.14.tar.gz
3、进入zookeeper中的conf目录将zoo_sample.cfg重命名为zoo.cfg
4、修改zoo.cfg配置文件,仅保留下列信息,其他信息注释
下面dataDir和dataLogDir文件默认是没有的需要通过mkdir创建data和logs文件夹
1 | tickTime=2000 |
5、在/etc/profile文件中设置PATH
修改profile文件:
sudo vi /etc/profile
1 | export ZOOKEEPER_HOME=/home/hadooptest/zookeeper-3.4.14 |
6、启动项目,进入到zookeeper中的bin目录中,执行一下指令
1 | zkServer.sh start |
第三步安装mysql
mysql安装的方法也比较多,这里采用最常见的用yum源安装的方式。
1 | wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm |
1 | yum -y install mysql57-community-release-el7-10.noarch.rpm |
1 | yum -y install mysql-community-server |
1 | systemctl start mysqld.service |
启动mysql数据库之后修改mysql的密码为自己的密码。通过以下命令找到初始密码,通过密码登陆mysql然后修改mysql的登陆密码,这里要记住mysql密码要求一定的强度,否则会失败。
1 | grep "password" /var/log/mysqld.log |
下载otter manager的sql文件,进入mysql初始化otter manager系统表。
1 | wget https://raw.github.com/alibaba/otter/master/manager/deployer/src/main/resources/sql/otter-manager-schema.sql |
1 | source otter-manager-schema.sql |
再倒入数据库的时候可能会有人出错,是因为mysql5.7的默认值不兼容的问题,引发的字段是’0000-00-00 00:00:00’,全部替换成’1970-01-01 00:00:01’,Linux批量替换命令:
1 | s/0000-00-00 00:00:00/1970-01-01 00:00:01/g |
第四步现在OtterManager并启动
直接下载的方式下载OtterManager的版本包,可访问:https://github.com/alibaba/otter/releases ,会列出所有历史的发布版本包下载。下载好之后传送到服务器上。
解压缩该版本包到指定目录
1 | mkdir /root/otter/manager |
配置修改
1 | ## otter manager domain name #修改为正确访问ip,生成URL使用 |
进入manager/bin目录中执行启动脚本
1 | sh startup.sh |
查看项目日志,可以看到错误信息等
1 | vi ../logs/manager.log |
如果日志中没有发现异常则可以进入浏览器输入 http://你的ip:8080/,出现otter的页面,即代表启动成功,请注意相应的端口是否开通。
(默认的管理员账号名:admin 密码:admin)
第五步安装OtterNode
otter node会受otter manager进行管理,所以需要预先安装otter manager,参见:Otter Manager Quickstart.
完成manager安装后,需要在manager页面为node定义配置信息,并生一个唯一id.
a. 首先访问manager页面的机器管理页面,点击添加机器按钮
b. 机器添加完成后,跳转到机器列表页面,获取对应的机器序号nid
(通过这两部操作,获取到了node节点对应的唯一标示,称之为node id,简称:nid. 记录该nid,后续启动nid时会使用)
- 安装aria2c,可以提高同步时候的速度,也可以不装
- 直接下载的方式下载OtterNode的版本包,可访问:https://github.com/alibaba/otter/releases ,会列出所有历史的发布版本包下载。下载好之后传送到服务器上。
1 | mkdir /root/node |
a. nid配置 (将环境准备中添加机器后获取到的最左端的序号,保存到conf目录下的nid文件,比如我添加的机器对应序号为1),在node目录下执行此命令
1 | echo 1 > conf/nid |
b. otter.properties配置修改
1 | # otter node root dir |
- 进入node/bin/目录中 通过sh startup.sh命令启动项目,通过vi logs/node/node.log进行验证
- 访问: http://你的ip:8080/node_list.htm,查看对应的节点状态,如果变为了已启动,代表已经正常启动。