mairadb+galera+haproxy+keepalived實現mysql負載均衡與高可用
一:伺服器資源
Haproxy+keepalived node1 10.116.19.251
Haproxy+keepalived node2 10.44.90.201
mariadb+galera node1 10.44.66.2
mariadb+galera node2 10.116.148.103
mariadb+galera node3 10.170.142.108
二:mariadb 叢集安裝
請參照上一篇博文,安裝成功後,叢集中新增haproxy訪問使用者
mysql -u root -p
CREATE USER 'haproxy'@' 10.116.19.251';
CREATE USER 'haproxy'@' 10.44.90.201';
FLUSH PRIVILEGES;
三:haproxy 安裝
sudo yum install haproxy
配置haproxy vi /etc/haproxy/haproxy.cfg
啟動haproxy
chkconfig haproxy on
/etc/init.d/haproxy start
haproxy 監控結果
四:安裝keepalived
sudo yum install keepalived -y
配置haproxy+keepalived node1 vi /etc/keepalived/keepalived.conf
配置haproxy+keepalived node2 vi /etc/keepalived/keepalived.conf
啟動keepalived
chkconfig keepalived on
/etc/init.d/keepalived start
Haproxy+keepalived node1 10.116.19.251
Haproxy+keepalived node2 10.44.90.201
mariadb+galera node1 10.44.66.2
mariadb+galera node2 10.116.148.103
mariadb+galera node3 10.170.142.108
二:mariadb 叢集安裝
請參照上一篇博文,安裝成功後,叢集中新增haproxy訪問使用者
mysql -u root -p
CREATE USER 'haproxy'@' 10.116.19.251';
CREATE USER 'haproxy'@' 10.44.90.201';
FLUSH PRIVILEGES;
三:haproxy 安裝
sudo yum install haproxy
配置haproxy vi /etc/haproxy/haproxy.cfg
點選(此處)摺疊或開啟
-
#---------------------------------------------------------------------
-
# Example configuration for a possible web application. See the
-
# full configuration options online.
-
#
-
# http://haproxy.1wt.eu/download/1.4/doc/configuration.txt
-
#
-
#---------------------------------------------------------------------
-
-
#---------------------------------------------------------------------
-
# Global settings
-
#---------------------------------------------------------------------
-
global
-
# to have these messages end up in /var/log/haproxy.log you will
-
# need to:
-
#
-
# 1) configure syslog to accept network log events. This is done
-
# by adding the '-r' option to the SYSLOGD_OPTIONS in
-
# /etc/sysconfig/syslog
-
#
-
# 2) configure local2 events to go to the /var/log/haproxy.log
-
# file. A line like the following can be added to
-
# /etc/sysconfig/syslog
-
#
-
# local2.* /var/log/haproxy.log
-
#
-
log 127.0.0.1 local2
-
-
chroot /var/lib/haproxy
-
pidfile /var/run/haproxy.pid
-
maxconn 4000
-
user haproxy
-
group haproxy
-
daemon
-
-
# turn on stats unix socket
-
stats socket /var/lib/haproxy/stats
-
-
#---------------------------------------------------------------------
-
# common defaults that all the 'listen' and 'backend' sections will
-
# use if not designated in their block
-
#---------------------------------------------------------------------
-
defaults
-
mode http
-
log global
-
option httplog
-
option dontlognull
-
option http-server-close
-
option forwardfor except 127.0.0.0/8
-
option redispatch
-
retries 3
-
timeout http-request 10s
-
timeout queue 1m
-
timeout connect 10s
-
timeout client 1m
-
timeout server 1m
-
timeout http-keep-alive 10s
-
timeout check 10s
-
maxconn 3000
-
-
#---------------------------------------------------------------------
-
# main frontend which proxys to the backends
-
#---------------------------------------------------------------------
-
frontend main *:5000
-
acl url_static path_beg -i /static /images /javascript /stylesheets
-
acl url_static path_end -i .jpg .gif .png .css .js
-
-
use_backend static if url_static
-
default_backend app
-
-
#---------------------------------------------------------------------
-
# static backend for serving up images, stylesheets and such
-
#---------------------------------------------------------------------
-
backend static
-
balance roundrobin
-
server static 127.0.0.1:4331 check
-
-
#---------------------------------------------------------------------
-
# round robin balancing between the various backends
-
#---------------------------------------------------------------------
-
backend app
-
balance roundrobin
-
server app1 127.0.0.1:5001 check
-
server app2 127.0.0.1:5002 check
-
server app3 127.0.0.1:5003 check
-
server app4 127.0.0.1:5004 check
-
-
listen mariadb-cluster
-
bind 0.0.0.0:3306
-
mode tcp
-
option tcplog
-
option mysql-check user haproxy
-
balance roundrobin
-
server mdb01 10.44.66.2:3306 check
-
server mdb02 10.116.148.103:3306 check
-
server mdb03 10.170.142.108:3306 check
-
-
listen web-interface
-
bind 0.0.0.0:8888
-
mode http
-
stats enable
-
stats uri /
-
stats realm Strictly\ Private
- stats auth admin:admin
啟動haproxy
chkconfig haproxy on
/etc/init.d/haproxy start
haproxy 監控結果
四:安裝keepalived
sudo yum install keepalived -y
配置haproxy+keepalived node1 vi /etc/keepalived/keepalived.conf
點選(此處)摺疊或開啟
-
global_defs {
-
lvs_id LBL01
-
}
-
-
vrrp_sync_group SyncGroup01 {
-
group {
-
FloatIP1
-
}
-
}
-
-
vrrp_script check_haproxy {
-
script "killall -0 haproxy"
-
interval 2
-
weight 2
-
}
-
-
vrrp_instance FloatIP1 {
-
state MASTER
-
interface eth0
-
virtual_router_id 10
-
priority 101
-
advert_int 1
-
virtual_ipaddress {
-
192.168.1.60
-
}
-
track_script {
-
check_haproxy
-
}
- }
配置haproxy+keepalived node2 vi /etc/keepalived/keepalived.conf
點選(此處)摺疊或開啟
-
global_defs {
-
lvs_id LBL01
-
}
-
-
vrrp_sync_group SyncGroup01 {
-
group {
-
FloatIP1
-
}
-
}
-
-
vrrp_script check_haproxy {
-
script "killall -0 haproxy"
-
interval 2
-
weight 2
-
}
-
-
vrrp_instance FloatIP1 {
-
state BACKUP
-
interface eth0
-
virtual_router_id 10
-
priority 100
-
advert_int 1
-
virtual_ipaddress {
-
192.168.1.60
-
}
-
track_script {
-
check_haproxy
-
}
- }
啟動keepalived
chkconfig keepalived on
/etc/init.d/keepalived start
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-2137324/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【MySQL】keepalived+haproxy實現mysql的高可用與負載均衡MySql負載
- keepalived+haproxy實現mysql負載均衡高可用MySql負載
- Keepalived實現Nginx負載均衡高可用Nginx負載
- haporxy+keepalived實現負載均衡+高可用負載
- Keepalived+HAproxy實現高可用負載均衡負載
- Nginx負載均衡高可用Nginx負載
- keepalived高可用負載均衡負載
- LVS+Keepalived 實現高可用負載均衡負載
- CentOS7 實現 Keepalived + Nginx 實現高可用 Web 負載均衡CentOSNginxWeb負載
- Flume高可用負載均衡問題負載
- HaProxy 實現 MySQL 負載均衡MySql負載
- Nginx實現請求的負載均衡 + keepalived實現Nginx的高可用Nginx負載
- LVS+Keepalive 實現負載均衡高可用叢集負載
- 【Nginx】如何實現Nginx的高可用負載均衡?看完我也會了!!Nginx負載
- Mycat 雙主雙從-負載均衡-高可用負載
- 高可用+高併發+負載均衡架構設計負載架構
- 【DB寶42】MySQL高可用架構MHA+ProxySQL實現讀寫分離和負載均衡MySql架構負載
- windows NLB+ARR實現Web負載均衡高可用/可伸縮的方法WindowsWeb負載
- Haproxy+Keepalived高可用負載均衡叢集負載
- Nginx 高階篇(三)負載均衡的實現Nginx負載
- nginx實現負載均衡Nginx負載
- Amoeba實現MySQL的負載均衡、故障轉移MySql負載
- Haproxy+Keepalived+MySQL實現讀均衡負載MySql負載
- Linux配置雙網路卡繫結實現負載均衡和高可用性配置Linux負載
- 基於MySQL Cluster + LVS + KeepAlived部署負載均衡高可用架構MySql負載架構
- GRPC 負載均衡實現RPC負載
- Ribbon實現負載均衡負載
- Oracle負載均衡實現方式Oracle負載
- Nginx + IIS 實現負載均衡Nginx負載
- 淺談負載均衡演算法與實現負載演算法
- Mycat實現mysql的負載均衡讀寫分離MySql負載
- 3.RabbitMQ高階叢集搭建(Haproxy負載均衡、Keepalived高可用)MQ負載
- RabbitMQ(四):使用Docker構建RabbitMQ高可用負載均衡叢集MQDocker負載
- 搭建Keepalived + Nginx + Tomcat的高可用負載均衡架構NginxTomcat負載架構
- dubbo(三):負載均衡實現解析負載
- Nginx 動靜分離與負載均衡的實現Nginx負載
- 分離mysql和儲存實現雙web負載均衡MySqlWeb負載
- mysql負載均衡搭建(haproxy)MySql負載