MHA+MYCAT 高可用架构

架构图如下:

架构图3.png

本次是4服务器架构

如下架构图2.png

环境:

centos 7.2 x64

mariadb 10.4

MHA 5.7

MyCat 1.6.7

IP规划

IP 功能
10.1.41.166 VIP
10.1.41.167 master,mycat,mha.node
10.1.41.168 slave(master),mha.node
10.1.41.165 slave,mycat,keepalived
10.1.41.169 slave,mycat,keepalived

说明:keepalived 主要做mycat的高可用,mysql数据库的高可用通过 MHA 实现

master 库主要负责写,其他三个slave负责读,如果mycat所在服务器压力过大,建议单独分出两台机器运行mycat服务

注意:如果是阿里云的ECS,需要单独购买SLB,因为阿里云的机器用不了keepalived和VIP

第一步:安装MySQL 并配置主从同步

主库需要添加额外的内容:

在[mysqld]段的最后面添加如下内容

innodb_file_per_table = ON
skip_name_resolve = ON
server-id = 1
relay-log = relay-log
log-bin = master-log

从库添加:

innodb_file_per_table = ON
skip_name_resolve = ON
server-id = 2  #注意:其他从库的id不能相同
relay-log = relay-log
log-bin = master-log
read-only = 1
relay-log-purge = 0

2.在主库创建mha授权账号和 主从同步账号

grant replication slave,replication client on *.* to 'xtgss'@'10.1.41.%' identified by 'replpass6689' ;
grant all on *.* to 'mhaadmin'@'10.1.41.%' identified by 'mhapass' ;

然后查看信息

show master status;

在从库执行

change master to master_host='10.1.41.167', master_port=3306, master_user='xtgss', master_password='replpass6689', master_log_file='master-log.000001',master_log_pos=2719;
start slave;
show slave status\G

2,安装MHA 

所有节点都 安装mha4mysql-node ,管理节点安装在 10.1.41.168 这个机器

并且所有节点都要ssh 免密登录

mha.cnf 文件如下内容:

[server default]
user=mhaadmin
password=mhapass6689
manager_workdir=/data/masterha/app1
manager_log=/data/masterha/app1/manager.log
remote_workdir=/data/masterha/app1
ssh_user=root
ssh_port=65534
repl_user=xtgss
repl_password=replpass6689
ping_interval=1
[server1]
hostname=10.1.41.167
candidate_master=1
[server2]
hostname=10.1.41.168
candidate_master=1
[server3]
hostname=10.1.41.165
[server4]
hostname=10.1.41.169

执行ssh 检查:

masterha_check_ssh -conf=/etc/mhaconf/mha.cnf

然后执行 repl 检查:

masterha_check_repl -conf=/etc/mhaconf/mha.cnf

等上面两个检查都通过之后,开始运行mha守护进程

masterha_manager -conf=/etc/mhaconf/mha.cnf

部署mycat:

需要安装jdk 1.8

然后解压到 /usr/local/ 目录下

创建logs 目录

mkdirp -pv /usr/local/mycat/logs

把相应的配置复制到 conf 目录下,然后根据实际环境修改配置

部署keepalived

yum install keepalived/* -y 

把keepalived.conf 复制到 /etc/keepalived/ 目录下,修改一下模式 ,

主节点为 state MASTER  ,priority 100

从节点为 state BACKUP  ,priority 88

然后启动keepalived

mha.rar

mycat.rar

MyCat生产部署经验分享.docx

mycat-definitive-guide.pdf

  • MHA+MYCAT 高可用架构已关闭评论
  • 1,608 views
    A+
发布日期:2019年10月09日  所属分类:linux