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从库负载均衡

haproxy实现mysql多slave读负载均衡

使用HAProxy实现MySQL多slave的读负载均衡

Haproxy+多台MySQL从服务器(Slave) 实现负载均衡

Heartbeat + Haproxy + MySQL双主复制 实现读写负载均衡及高可用

Haproxy Mysql cluster 高可用Mysql集群