本文主要是介绍基于otter数据同步实验搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
一、实验目的
二、实验内容
三、资源划分
四、组件的安装配置
4.1 mysql数据库的安装
4.1.1前置条件
4.1.2下载地址
4.1.3 安装
4.1.4 通过命令行连接mysql,修改权限
4 mysql配置canal权限
5 关闭防火墙
6 mysql重启
4.2 zookeeper的安装
4.2.1 下载地址
4.2.2 解压至指定目录
4.2.3 修改配置,启动zookeeper服务
4.3 otter的安装
4.3.1 介绍
4.3.2 原理及架构
4.3.3 安装及配置
一、实验目的
本次实验主要通过虚拟机安装otter,学习otter如何管理数据同步。
二、实验内容
本次实验需要两个数据库,分别是first-msyql和second-mysql,并且通过otter工具将first-mysql中的数据同步至second-mysql中,同步的方式包含(1)增量实时同步;(2)全量同步。
三、资源划分
vm | 安装组件 | 说明 |
192.168.198.130 | first-mysql | first-mysql为mysql 5.6 |
192.168.198.131 | second-mysql | second-mysql为mysql 5.6 |
192.168.198.132 | otter、zookeeper | 采用较新版本即可 |
四、组件的安装配置
组件的安装共分为如下三个部分:
(1)mysql数据库的安装
(2)zookeeper安装
(3)otter安装
4.1 mysql数据库的安装
4.1.1前置条件
shell> yum install libaio
shell> yum install perl-Data-Dumper.x86_64
4.1.2下载地址
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz
4.1.3 安装
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> scripts/mysql_install_db --user=mysql
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
shell> export PATH=$PATH:/usr/local/mysql/bin
4.1.4 通过命令行连接mysql,修改权限
shell> mysql -u root -p #初次以root账户登录,默认没有密码
mysql> use mysql; #设置root账户密码
mysql> update user set password=password('you password') where user='root'and host='localhost';
mysql> GRANT ALL PRIVILEGES ON *.* TO'your username'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION; # 设置远程主机登录
mysql> FLUSH PRIVILEGES;
4 mysql配置canal权限
配置:修改mysql的配置文件 vim /etc/my.cnf,设置以下配置
log-bin=mysql-bin
# binary logging format - mixed recommended
# binlog_format=mixed
binlog_format=ROW #修改成ROW
server-id = 1 #两个机房的serverid设置为不一样的值
default-character-set=utf8
设置canal账号:mysql配置完成后,需要分别在A、B两台数据库上分配otter的数据库账号和密码,例如canal/canal。具体脚本如下所示:
CREATE USER canal IDENTIFIED BY 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;
查看canal账户的权限:
show grants for 'canal';
查看mysql的server-id:
show variables like 'server_id';
查看本地bin-log日志是否开启:
show variables like '%log_bin%'
5 关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
6 mysql重启
shell(mysql)> bin/mysqladmin -u root -p shutdown
shell(mysql)> bin/mysqld_safe --user=mysql &
4.2 zookeeper的安装
4.2.1 下载地址
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
4.2.2 解压至指定目录
tar xzvf zookeeper-3.4.10.tar.gz -C /usr/local
4.2.3 修改配置,启动zookeeper服务
本次安装为zookeeper单机版。zookeeper配置具体如下:
(1)进入conf目录,修改zoo-sample.properties文件名为zoo.properties
(2)启动zookeeper命令:
./bin/zkServer.sh start
(3)查看zookeeper状态命令:
./bin/zkServer.sh status
4.3 otter的安装
4.3.1 介绍
otter是基于数据库增量日志解析,准实时的mysql数据库同步工具。
其应用场景主要如下:
(1)主从复制
(2)异构数据库同步
4.3.2 原理及架构
原理描述:
-
基于canal增量获取源数据库数据
-
典型管理系统架构,manager(web管理)+node(工作节点)
-
manager节点运行时推送同步配置到node节点
-
node节点将同步状态反馈到manager上
-
-
基于zookeeper解决分布式状态调度,协调多node节点之间协同工作
架构图:
4.3.3 安装及配置
(1)安装Manager
地址:https://github.com/alibaba/otter/wiki/Manager_Quickstart
(2)安装Node,参考官网
地址:https://github.com/alibaba/otter/wiki/Node_Quickstart
(3)Manager使用介绍
地址:https://github.com/alibaba/otter/wiki/Manager%E4%BD%BF%E7%94%A8%E4%BB%8B%E7%BB%8D
这篇关于基于otter数据同步实验搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!