HAProxy实现Mysql Cluster负载均衡
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HAProxy实现Mysql Cluster负载均衡相关的知识,希望对你有一定的参考价值。
1. 安装
# yum install haproxy
2. 修改配置
# vim /etc/haproxy/haproxy.cfg
配置如下
global daemon nbproc 1 pidfile /var/run/haproxy.pid defaults mode tcp #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK retries 3 #两次连接失败就认为是服务器不可用,也可以通过后面设置 option redispatch #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器 option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接 maxconn 4096 #默认的最大连接数 timeout connect 5000ms #连接超时 timeout client 30000ms #客户端超时 timeout server 30000ms #服务器超时 timeout check 2000 #=心跳检测超时 log global listen mysql_cluster bind 10.10.91.71:3306 mode tcp maxconn 4086 server node2 10.10.91.72:3306 server node3 10.10.91.75:3306
3. 启动
# /etc/init.d/haproxy start
4. 查看状态
# /etc/init.d/haproxy status
需要注意的点:
1、端口3306不能被占用,如果本机有mysql,服务必须关闭。
2、/var/run/haproxy.pid的目录权限给够,如果存在haproxy.pid在第一次启动前必选删除。
3、其他错误请参考博客http://blog.csdn.net/aa168b/article/details/50372649
HAProxy不需要写mysql的健康检测,软件本身可以检测出mysql服务停止,然后切换到正常的服务器上,而且当mysql服务器重启之后,HAProxy不需要重启,也能识别并且切换上去。
以上是关于HAProxy实现Mysql Cluster负载均衡的主要内容,如果未能解决你的问题,请参考以下文章
Haproxy+多台MySQL从服务器(Slave) 实现负载均衡