MyCat负载均衡

图示

准备工作

1. 准备四个有安装过mysql的服务器

2. 四个服务器的mysql配置好主从服务

3.在其中两个里面安装配置好MyCat

一. 安装haproxy

1. 安装依赖

yum -y install epel-release

2. 重新配置镜像

⚠️如果上方依赖直接下载完成了则跳过这一步

如果上方安装依赖出现问题安装不上去则需要更新yum源重新配置镜像,挨个执行下方命令之后再执行上面⬆️安装依赖的命令

1.

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2.

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

3.

yum clean all

4.

yum makecache

3. 安装haproxy

yum -y install haproxy 

4. 修改配置文件haproxy

位置

/etc/haproxy

打开配置文件将里面的内容全部删除,将下方配置复制进去进行修改

global
 log 127.0.0.1 local0
 maxconn 4096  # 置全局的最大并发连接数为4096
 chroot /var/lib/haproxy # 使运行中的haproxy进程被限制在/var/lib/haproxy目录下,以增强安全性。
 pidfile /var/run/haproxy.pid
 uid 99
 gid 99 # 设置HAProxy进程运行时的用户ID和组ID
 daemon  # 使haproxy以守护进程模式运行于后台。 



defaults
 log global 
 mode tcp   # 指定默认的模式为tcp
 option abortonclose
 option redispatch
 retries 3 # 重试3次
 maxconn 2000  #设置每个frontend或backend的最大并发连接数为2000
 timeout connect 5000 #设置建立连接超时时间为5000
 timeout client 50000 #设置客户端超时时间也为5000
 timeout server 50000 #置后端服务器超时时间同样为5000
listen proxy_status 
 bind :48066 # 监听的端口号是48066
  mode tcp
  balance roundrobin # 负载均衡的测策略是 轮询
  server mycat_1 192.168.5.69:8066 check inter 10s # 每隔10s检测一次
  server mycat_2 192.168.5.71:8066 check inter 10s
frontend admin_stats 
 bind :7777
  mode http
  stats enable
  option httplog
  maxconn 10
  stats refresh 30s
  stats uri /admin    # 访问的路径
  stats auth admin:admin # 访问的用户名和密码的信息
  stats hide-version    # 隐藏版本号
  stats admin if TRUE   # 必须是admin登录

5. 启动haproxy

⚠️⚠️防火墙必须全部关闭

启动haproxy之前需要先启动两个MyCat

 启动haproxy

 systemctl start haproxy

6. 访问 

登录之后访问出来是是这样haproxy就下载配置完成了 

 

二. 配置负载均衡

根据上方图示以及准备工作已知现在已经有两个安装配置完Mycate了

下面根据一在第二个服务器中也安装配置好haproxy  过程与上方一样

过程与 略....

1. 下载keepalived

因为我这边是持续在虚拟机中添加内容,所以在前面 Keepalived高可用配置服务器集群-CSDN博客

这一张中我已经下载配置过keepalived 这里就不再叙述,如果没有下载过的请跳转到上方博客进行下载配置之后再过来

2. 配置keepalived

根据上面已经下载并且进行了简单的配置了,下面会在上方配置下继续进行添加配置文件

 cd /etc/keepalived/

打开keepalived.conf配置文件,将下方内容复制到最下方

 

# 设置虚拟服务器,需要指定虚拟IP地址和服务端口,IP与端口之间用空格隔开
virtual_server 192.168.5.100 48066 { 
 delay_loop 6 # 设置运行情况检查时间,单位是秒
 lb_algo rr # 设置负载调度算法,这里设置为rr,即轮询算法
 lb_kind NAT     # 设置LVS实现负载均衡的机制,有NAT、TUN、DR三个模式可选
 persistence_timeout 50
 #会话保持时间,单位是秒。这个选项对动态网页是非常有用的,为集群系统中的session共享提供了一个很好的解决方案。
#有了这个会话保持功能,用户的请求会被一直分发到某个服务节点,直到超过这个会话的保持时间。
#需要注意的是,这个会话保持时间是最大无响应超时时间,也就是说,用户在操作动态页面时,如果50秒内没有执行任何操作,
#那么接下来的操作会被分发到另外的节点,但是如果用户一直在操作动态页面,则不受50秒的时间限制
 protocol TCP                          # 指定转发协议类型,有TCP和UDP两种

real_server 192.168.5.71 48066 { #HA地址(备机r)
 weight 1
 TCP_CHECK {
 connect_timeout 3
 nb_get_retry 3
 delay_before_retry 3
 }
 } 
 real_server 192.168.5.69 48066 { #HA地址(备机r)
 weight 1
 TCP_CHECK {
 connect_timeout 3
 nb_get_retry 3
 delay_before_retry 3
 }
 } 
 }

根据下方图示将需要修改的ip改为自己的

这里配置完之后就配置完成了

第二个服务器的keepalived配置文件修改方式与与第一个相同,过程 略..

配置完成之后记得保存配置文件

3. 启动          验证

根据下方命令启动两个服务器的启动项目

1.启动 MyCat 先找到mycat 执行下方命令启动

./mycat start

2.启动 haproxy

systemctl start haproxy

3.启动 keepalived

systemctl start keepalived

4.启动mysql

systemctl start mysqld

查看时候成功启动 

 

 

 

启动完成之后分别访问两个haproxy

 

验证负载均衡是否成功

通过虚拟ip查询数据 命令

#mysql 账号 密码 -h 配置的虚拟ip -P 设置的端口号

mysql -uroot -proot -h 192.168.174.100 -P 48066

 

都连上之后进行测试

关闭任意一台服务器的haproxy我这里关闭的是69服务器的

sysetmctl stop haproxy

这个时候网页已经无法进行访问

 

这个时候继续执行上方命令

如果没有配置负载均衡的话这个时候在我们关闭haproxy之后就无法正常访问了,这个时候因为配置了负载均衡,所以在69服务器关闭之后71服务器会直接顶上,在关闭一台服务器的haproxy之后还能在这个服务器正常访问就代表配置成功了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值