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