Haproxy部署详解

接下来解决如何在多个mysql之间负载均衡的问题,并且在某个节点出现故障之后,可以将其踢出,这时候要引入新的服务器组件:HAProxy、keepalived


HAProxy是个七层代理服务,本身是没有状态的,所以可以通过部署多台HAProxy来实现高可用

如何判断哪个HAProxy可用,就要有Keepalived来监控判断了

image.png

image.png

在node1、node4上安装haproxy:

        yum imstall haproxy -y

        进行配置:

        image.png

        vi haproxy.cfg,增加下面的配置(node1)

        image.png

        listen admin_status建立一个HAProxy的管理监听,用来监控HAProxy的运行状况的(node1)

                bind绑到一个Keepalived的虚拟ip上

                stats uri指定监控的url

                stats auth指定帐号密码

        listen allmycat_service配置对后端mycat的监控服务了(node1)

                bind绑到一个虚拟ip(也就是当服务启动后,要通过8096端口来访问后端的mycat服务,今后应用程序也要通过8096来访问数据库)

                mode tcp访问模式tcp

                option tcplog选择日志格式

                option httpchk设置http格式            

                balance roudrobin设置负载均衡算法,roudrobin是个轮询算法,会通过轮询的方式对后端mycat进行访问

                server对mycat的配置,check port设置通过哪个端口来对服务器进行检测,inter 5s间隔5秒执行一次,rise 2 fall 3失败之后重复检测

        listen allmycat_admin对mycat的管理端口进行监控(node1)

                和listen allmycat_service配置不一样的是对端口进行区分


在上面的配置中使用到了48700端口来对后端mycat服务进行监控,这个时候我们需要安装另一个服务,来启动这个48700端口

        在node1、node4中安装xinted(一个网络守护服务,通过它来简单实现一个网络服务,通过这个服务达到一个启动端口的目的)

        image.png

        安装好后重启服务:

        image.png

        查看是否启动成功:

        image.png

node1上的eth0上绑定一个虚拟ip,之后这个虚拟ip(vip)会通过keepalived来管理:

        image.png

        image.png

接下来启动HAProxy(node1):

        image.png

接下来用同样的方法配置node4,直接把node1的配置文件拷过来:

        image.png

        建立mycatchk文件

        image.png

        从node1把内容拷贝过来:

        image.png

        同样要增加mycat_status文件,同样从node1拷贝过来即可:

        image.png

        并给予执行权限:

        image.png

        同样执行脚本(该脚本用来对当前节点的mycat进行检测的):

        image.png

        还要配置/etc/services:

        image.png

        增加mycatchk:

        image.png

        重启xinetd:

        image.png

        接下来启动HAProxy:

        image.png

        但报错了!它不能绑定虚拟ip,因为现在是在node1上,节点4上不存在该ip,所以不绑定192.168.10:48800了,而绑定服务器上所有ip:

        image.png

        image.png

        这时候可以启动成功了:

        image.png

        


猜你喜欢

转载自blog.51cto.com/5660061/2392583
今日推荐