MySQL实操(四)——使用Haproxy+keeplived实现Mycat高可用

 MySQL实操系列


目录

整体架构

实现目标

环境准备

环境搭建

1.Haproxy安装的安装与配置

1.1 Haproxy安装

1.2 修改haproxy配置文件

1.3 启动haproxy

 1.4 haproxy测试

 2.Keepalived的安装与配置

 2.1 Keepalived安装

2.2 修改Keepalived配置文件

2.3 启动Keepalived

3.搭建Haproxy+Keepalived集群的另一台服务器

4.Haproxy+Keepalived集成测试

方式一:使用VIP测试登录Haproxy的web界面

方式二:在Mysql服务器上登录Mycat进行测试

方式三:通过SQL管理工具测试


整体架构

实现目标

  • 搭建MySQL主从复制集群
  • 安装两台Mycat并配置分库分表+读写分离
  • 使用haproxy实现两个mycat服务高可用

环境准备

环境搭建

以下操作均在haproxy01:192.168.237.140上进行

Haproxy+Keepalived整体配置文件下载地址:​​​​​​​Haproxy+Keepalived配置文件(带注释)-Linux文档类资源-CSDN下载

1.Haproxy安装的安装与配置

1.1 Haproxy安装

采用yum安装haproxy的方式进行安装

#查看yum可用的haproxy版本
yum list|grep haproxy
#在线安装使用yum安装haproxy
yum -y install haproxy.x86_64

1.2 修改haproxy配置文件

安装完成后配置文件路径:/etc/haproxy/haproxy.cfg 

Haproxy配置文件下载地址:Haproxy配置文件haproxy.cnf(带注释)-CentOS文档类资源-CSDN下载

vim /etc/haproxy/haproxy.cfg

主要修改内容如下


frontend  mycat
#操作端口
bind 0.0.0.0:8066
#管理端口
bind 0.0.0.0:9066
mode tcp
log global
default_backend mycat_server

backend mycat_server
    balance     roundrobin
	#check表示检查
    server   mycat1   192.168.237.134:8066 check inter 5s rise 2 fall 3
    server   mycat2   192.168.237.137:8066 check inter 5s rise 2 fall 3
    server   mycatadmin1   192.168.237.134:9066 check inter 5s rise 2 fall 3
    server   mycatadmin2   192.168.237.137:9066 check inter 5s rise 2 fall 3	
	
listen stats
#访问模式
mode http
#haproxy对外开发的端口
bind 0.0.0.0:5000
stats enable
#隐藏版本
stats hide-version
#通过web界面访问haproxy的路径
stats uri /haproxy
#静态资源
stats realm Haproxy\ Statistics
#通过web界面访问haproxy的用户名密码
stats auth admin:admin
#通过web界面访问haproxy后身份为admin管理员
stats admin if TRUE

1.3 启动haproxy

注意:启动haproxy之前,如果虚拟机时间未与本机同步,启动会报错;可执行以下命令不同步时间解决此问题

setenforce 0

 haproxy相关命令:

#启动
systemctl start haproxy
#停止
systemctl stop haproxy
#查看状态
systemctl status haproxy
#重启
systemctl restart haproxy

 1.4 haproxy测试

在浏览器中访问在haproxy中配置的web界面,输入配置的用户名密码admin/admin,进行登录:

 如果mycat_server中的Status均为up,则说明配置成功

 2.Keepalived的安装与配置

 2.1 Keepalived安装

采用yum安装Keepalived的方式进行安装

#查看yum可用的keepalived版本
yum list|grep keepalived
#在线安装使用yum安装keepalived
yum -y install  keepalived.x86_64

2.2 修改Keepalived配置文件

安装完成后配置文件路径:/etc/keepalived/keepalived.cfg 

keeplived配置文件下载地址:keeplived配置文件keepalived.cnf(带注释)-Linux文档类资源-CSDN下载

vim /etc/keepalived/keepalived.cfg

修改内容如下

global_defs {  
    router_id NodeA 		#当前节点名称 
}
vrrp_instance VI_1 {  
    state MASTER   			#设置主服务器
    interface ens33			#系统的网卡名字(centos6为eth0,centos7位eth33)
    virtual_router_id 10    #多个保持心跳的keepalived节点要设置同一个router_id
    priority 100  			#权重,权重数字越大,权重越大:即表示VIP访问权重最大的
    advert_int 1  

    authentication {       
		auth_type PASS  	#通过PASS认证(密码认证)
		auth_pass 123456   	#多个保持心跳的keepalived节点要设置同一个auth_pass
	}  
	virtual_ipaddress {     #虚拟IP地址,可设置多个
		  192.168.237.255/24  #对外暴露的IP地址,24是网络位数(可省略)
		  192.168.237.254/24
	}
	track_script{			#自定义追踪脚本
		chk_haproxy			#追踪haproxy
	}
}
vrrp_script chk_haproxy {	#定义的方法名
        script "/etc/keepalived/check_haproxy.sh"
        interval 4			#追踪频率
        weight 3			#追踪权重
}

在/etc/keepalived下新建check_haproxy.sh脚本,脚本内容如下

#!/bin/bash
A=`ps -C haproxy --no-header |wc -l`
if [ $A -eq 0 ];then
systemctl start haproxy.service
fi

2.3 启动Keepalived

 Keepalived相关命令:

#启动
systemctl start keepalived
#停止
systemctl stop keepalived
#查看状态
systemctl status keepalived
#重启
systemctl restart keepalived

 启动成功之后如下图所以,目前生效的VIP是192.168.237.254

3.搭建Haproxy+Keepalived集群的另一台服务器

具体操作步骤同1、2步,但需要修改Keepalived的配置文件,修改router_id和priority,其他操作同haproxy01:192.168.237.140。

Keepalived的配置文件如下:

global_defs {  
    router_id NodeB 		#当前节点名称 
}
vrrp_instance VI_1 {  
    state MASTER   			#设置主服务器
    interface ens33			#系统的网卡名字(centos6为eth0,centos7位eth33)
    virtual_router_id 10    #多个保持心跳的keepalived节点要设置同一个router_id
    priority 90  			#权重,权重数字越大,权重越大:即表示VIP访问权重最大的
    advert_int 1  

    authentication {       
		auth_type PASS  	#通过PASS认证(密码认证)
		auth_pass 123456   	#多个保持心跳的keepalived节点要设置同一个auth_pass
	}  
	virtual_ipaddress {     #虚拟IP地址,可设置多个
		  192.168.237.255/24  #对外暴露的IP地址,24是网络位数(可省略)
		  192.168.237.254/24
	}
	track_script{			#自定义追踪脚本
		chk_haproxy			#追踪haproxy
	}
}
vrrp_script chk_haproxy {	#定义的方法名
        script "/etc/keepalived/check_haproxy.sh"
        interval 4			#追踪频率
        weight 3			#追踪权重
}

4.Haproxy+Keepalived集成测试

方式一:使用VIP测试登录Haproxy的web界面

登录http://192.168.237.254:5000/haproxy

方式二:在Mysql服务器上登录Mycat进行测试

说明:不能直接在Haproxy+Keepalived服务器上测试的原因是因为当前服务器上没有安装Mysql,无法执行mysql之类的命令

使用虚拟IP(VIP)登录mycat进行操作

#登录Mycat
#    -u 登录名 用户名和密码为在mycat的server.xml中配置的name和password
#    -p 密码
#    -h Keepalived配置的虚拟IP
#    -P Mycat端口号,默认8066
mysql -uroot -p123456 -h192.168.237.254 -P8066;


 校验分库分表功能同mycat操作

方式三:通过SQL管理工具测试

以navicat为例,在navicat中新建Mysql连接:主机为VIP服务器IP,端口号使用Mycat的8066,用户名和密码为在Mycat的server.xml中配置的name和password,其余测试均同方式一致

猜你喜欢

转载自blog.csdn.net/DreamEhome/article/details/128682812