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

相關文章
相關標籤/搜索