基本软件配置
环境介绍:
- 亚洲阿里云服务器A 1台
- 中东阿里云服务器B 1台
- 操作系统 Ubuntu 16.04 64位
- Mysql 5.7.20
- Java-openjdk 1.8.0
- Otter-manager 4.2.14
- Otter-node 4.2.14
- Zookeeper 3.4.6
- Aria2 aria2 version 1.19.0
说明:
该记录描述了两台服务器A、B的数据库实现双A同步的搭建过程。鉴于网上资料大多重复而且有限,我们本次搭建过程中遇到的问题进行了记录,便于分享。
为了避免出现兼容问题,我们两台机器的系统版本、使用的软件版本均保持一致。
文章结尾列举了配置过程中遇到的各类坑。
基本软件配置
为搭建顺利,可以用root身份登录服务器。如果使用普通用户登录,遇到权限不够时,可以在命令前加sudo来提升权限。
首先更新服务器ubuntu的软件源
apt-get update
Otter可适用于Mysql间的数据同步,安装Mysql(如果已安装请忽略安装过程户)
apt-get install mysql-server
确认mysql安装状态,如出现版本号就是安装成功
mysql --version
修改my.cnf配置文件
#统一字符编码
character_set_server = utf8
#如果MySQL版本5.7及以上,需要定义sql_mode
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#开启数据库的bin-log
log-bin=mysql-bin
#Otter只能支持ROW格式的数据同步
binlog_format=ROW
#设定本数据库的server_id,注意集群内所有的MySQL的server_id均不能相同。
server-id = 1
#设定本数组库的自增量步长和偏移量
auto_increment_increment=10
auto_increment_offset=1
#解除MySQL访问IP绑定,也可根据实际,指定允许某些ip访问
bind-address = 0.0.0.0
启动数据库,在所有库上增加访问用户并配置权限
CREATE USER canal IDENTIFIED BY '你的密码';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;
然后通过
show grants for 'canal';
查看canal的权限是否正常。
下载Otter-manager所使用的数据库
wget https://raw.github.com/alibaba/otter/master/manager/deployer/src/main/resources/sql/otter-manager-schema.sql
#然后在mysql中通过
source /下载的位置/otter-manager-schema.sql
#导入该表
下载双A同步所使用的数据库
wget https://raw.github.com/alibaba/otter/master/node/deployer/src/main/resources/sql/otter-system-ddl-mysql.sql
#然后在mysql中通过
source /下载的位置/otter-system-ddl-mysql.sql
#导入该表
Otter的运行依赖于java环境,因此应在安装前部署java环境。
sudo apt-get install openjdk-8-jdk
确认java安装状态,如出现版本号就是安装成功
java -version
Otter-node 的数据传输依靠aira2来提高传输效率,因此需要安装aria2
apt install aria2
确认aria2安装状态,如出现版本号就是安装成功
aria2c -v
以上基本支持安装好了,接下来是关于zookeeper的安装和配置。