基于docker搭建mysql的pxc集群+haproxy+keepalived的高可用(2️⃣)

19 篇文章 0 订阅
4 篇文章 0 订阅
上一节我们只是把5节点pxc集群已经搭建完毕,实际上我们可以连接任何一个节点操作数据库,其它节点均会同步该节点数据。
关于负载均衡,相信大家都不陌生,例如web应用使用的nginx,这里我选择的是老牌的haproxy,至于原因,请大家自行查阅资料。

现在我们就用haproxy实现负载均衡

1️⃣拉取镜像haproxy

	docker pull haproxy

2️⃣在宿主机上面创建haproxy的配置文件

global
    chroot /usr/local/etc/haproxy			#工作目录
    log 127.0.0.1 local5 info					
    	#日志文件,使用rsyslog服务中local5日志设备(/var/log/local5),等级info
    daemon		#守护进程运行
defaults
    log global
    mode    http
    option  httplog							#日志格式
    option  dontlognull						#日志中不记录负载均衡的心跳检测记录
    timeout connect 5000					#连接超时(毫秒)
    timeout client  50000					#客户端超时(毫秒)
    timeout server  50000					#服务器超时(毫秒)
listen  admin_stats							#监控界面
    bind  0.0.0.0:8888						#监控界面的访问的IP和端口
    mode        http						#访问协议
    stats uri   /dbs						#URI相对地址
	stats realm     Global\ statistics						#统计报告格式
    stats auth  admin:abc123456							
    						#登陆帐户信息		用户名:admin	密码:abc123456
listen  proxy-mysql							#数据库负载均衡
    bind  0.0.0.0:3306						#访问的IP和端口
    mode  tcp								#网络协议
    balance  roundrobin						#负载均衡算法(轮询算法)
    option  tcplog							#日志格式
    option  mysql-check user haproxy				
    	#在MySQL中创建一个没有权限的haproxy用户,密码为空。Haproxy使用这个账户对MySQL数据库心跳检测
    server  MySQL_1 172.18.0.2:3306 check weight 1 maxconn 2000
    server  MySQL_2 172.18.0.3:3306 check weight 1 maxconn 2000
    server  MySQL_3 172.18.0.4:3306 check weight 1 maxconn 2000
    server  MySQL_4 172.18.0.5:3306 check weight 1 maxconn 2000
    server  MySQL_5 172.18.0.6:3306 check weight 1 maxconn 2000
    option  tcpka							#使用keepalive检测死链

3️⃣创建容器haproxy

docker run -it -d -p 4001:8888 -p 4002:3306 -v /home/soft/haproxy:/usr/local/etc/haproxy --name h1 --privileged --net=net1 --ip 172.18.0.7 haproxy
docker run -it -d -p 4003:8888 -p 4004:3306 -v /home/soft/haproxy:/usr/local/etc/haproxy --name h2 --privileged --net=net1 --ip 172.18.0.8 haproxy

(1)然后我们进入到h1容器内

docker exec -it h1 bash

(2)现在启动haproxy

haproxy   -f     /usr/local/etc/haproxy/haproxy.cfg

(3)现在我们到node1数据库中创建一个没有权限的haproxy用户,密码为空。Haproxy使用这个账户对MySQL数据库心跳检测

create user 'haproxy'@'%' identified by '';

在这里插入图片描述
(4)创建完我们用客户端登录
在这里插入图片描述
在这里插入图片描述
奈斯非常好,我们之前做的都pxc里的数据都有;
4️⃣现在进入集群监控界面 http://192.168.33.20:4001/dbs
在这里插入图片描述

	输入你的账号密码(刚刚在haproxy配置文件连设置的)

在这里插入图片描述
?,我的五个节点都在其正常运行。
在这里为了那些照顾那些习惯看中文的同志我用谷歌翻译了一下
在这里插入图片描述
好了,下一节咱们用keepalived实现双机热备

基于docker搭建mysql的pxc集群+haproxy+keepalived的高可用(3️⃣)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值