Mysql Cluster经过HAProxy实现负载均衡

1.  安装node

# yum install haproxy

2.  修改配置mysql

# vim /etc/haproxy/haproxy.cfg

配置以下redis

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.  启动sql

# /etc/init.d/haproxy start


4.  查看状态vim

# /etc/init.d/haproxy status

 

须要注意的点:bash

一、端口3306不能被占用,若是本机有mysql,服务必须关闭。服务器

二、/var/run/haproxy.pid的目录权限给够,若是存在haproxy.pid在第一次启动前必选删除。tcp

三、其余错误请参考博客http://blog.csdn.net/aa168b/article/details/50372649ide

 

HAProxy不须要写mysql的健康检测,软件自己能够检测出mysql服务中止,而后切换到正常的服务器上,并且当mysql服务器重启以后,HAProxy不须要重启,也能识别而且切换上去。spa

相关文章
相关标签/搜索