Docker 搭建pxc集群 + haproxy + keepalived 高可用(二)
生活随笔
收集整理的這篇文章主要介紹了
Docker 搭建pxc集群 + haproxy + keepalived 高可用(二)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
上一節(jié)我們有了兩個(gè)分片的pxc集群,這一節(jié)我們接著安裝haproxy和keepalived的實(shí)現(xiàn)集群的高可用
一、先下載haproxy的鏡像
[root@localhost ~]# docker pull haproxy二、在host主機(jī)上寫(xiě)好配置文件,啟動(dòng)容器時(shí)候讀取haproxy.cfg,vim /usr/local/docker/haproxy/haproxy.cfg
global#工作目錄chroot /usr/local/etc/haproxy#日志文件,使用rsyslog服務(wù)中l(wèi)ocal5日志設(shè)備(/var/log/local5),等級(jí)infolog 127.0.0.1 local5 info#守護(hù)進(jìn)程運(yùn)行daemon defaultslog globalmode http#日志格式option httplog#日志中不記錄負(fù)載均衡的心跳檢測(cè)記錄option dontlognull#連接超時(shí)(毫秒)timeout connect 5000#客戶端超時(shí)(毫秒)timeout client 50000#服務(wù)器超時(shí)(毫秒)timeout server 50000 #監(jiān)控界面 listen admin_stats#監(jiān)控界面的訪問(wèn)的IP和端口bind 0.0.0.0:8888#訪問(wèn)協(xié)議mode http#URI相對(duì)地址stats uri /dbs#統(tǒng)計(jì)報(bào)告格式stats realm Global\ statistics#登陸帳戶信息stats auth admin:haproxy #數(shù)據(jù)庫(kù)負(fù)載均衡 listen proxy-mysql#訪問(wèn)的IP和端口bind 0.0.0.0:3306#網(wǎng)絡(luò)協(xié)議mode tcp#負(fù)載均衡算法(輪詢算法)#輪詢算法:roundrobin#權(quán)重算法:static-rr#最少連接算法:leastconn#請(qǐng)求源IP算法:sourcebalance roundrobin#日志格式option tcplog#在MySQL中創(chuàng)建一個(gè)沒(méi)有權(quán)限的haproxy用戶,密碼為空。Haproxy使用這個(gè)賬戶對(duì)MySQL數(shù)據(jù)庫(kù)心跳檢測(cè)option mysql-check user haproxyserver MySQL_1 172.18.0.2:3306 check weight 1 maxconn 2000server MySQL_2 172.18.0.3:3306 check weight 1 maxconn 2000server MySQL_3 172.18.0.4:3306 check weight 1 maxconn 2000#使用keepalive檢測(cè)死鏈option tcpka三、在pxc集群里面先創(chuàng)建haproxy用戶并授予權(quán)限
mysql> create user 'haproxy'@'%' identified by '';四、啟動(dòng)第一個(gè)haproxy容器
[root@localhost haproxy]# docker run -it -d -p 4001:8888 -p 4002:3306 -v /usr/local/docker/haproxy:/usr/local/etc/haproxy --name h1 --privileged --net=pxc_network --ip 172.18.0.10 haproxy啟動(dòng)haproxy
docker exec -it h1 bashhaproxy -f /usr/local/etc/haproxy/haproxy.cfg先設(shè)置配置文件,vim /usr/local/docker/haproxy2/haproxy.cfg,當(dāng)然你也可以設(shè)置其他的目錄來(lái)存放第二個(gè)haproxy的配置文件
global#工作目錄chroot /usr/local/etc/haproxy#日志文件,使用rsyslog服務(wù)中l(wèi)ocal5日志設(shè)備(/var/log/local5),等級(jí)infolog 127.0.0.1 local5 info#守護(hù)進(jìn)程運(yùn)行daemon defaultslog globalmode http#日志格式option httplog#日志中不記錄負(fù)載均衡的心跳檢測(cè)記錄option dontlognull#連接超時(shí)(毫秒)timeout connect 5000#客戶端超時(shí)(毫秒)timeout client 50000#服務(wù)器超時(shí)(毫秒)timeout server 50000 #監(jiān)控界面 listen admin_stats#監(jiān)控界面的訪問(wèn)的IP和端口bind 0.0.0.0:8888#訪問(wèn)協(xié)議mode http#URI相對(duì)地址stats uri /dbs#統(tǒng)計(jì)報(bào)告格式stats realm Global\ statistics#登陸帳戶信息stats auth admin:haproxy #數(shù)據(jù)庫(kù)負(fù)載均衡 listen proxy-mysql#訪問(wèn)的IP和端口bind 0.0.0.0:3306#網(wǎng)絡(luò)協(xié)議mode tcp#負(fù)載均衡算法(輪詢算法)#輪詢算法:roundrobin#權(quán)重算法:static-rr#最少連接算法:leastconn#請(qǐng)求源IP算法:sourcebalance roundrobin#日志格式option tcplog#在MySQL中創(chuàng)建一個(gè)沒(méi)有權(quán)限的haproxy用戶,密碼為空。Haproxy使用這個(gè)賬戶對(duì)MySQL數(shù)據(jù)庫(kù)心跳檢測(cè)option mysql-check user haproxyserver MySQL_1 172.18.0.5:3306 check weight 1 maxconn 2000server MySQL_2 172.18.0.6:3306 check weight 1 maxconn 2000server MySQL_3 172.18.0.7:3306 check weight 1 maxconn 2000#使用keepalive檢測(cè)死鏈option tcpka接著我們啟動(dòng)第二個(gè)haproxy容器
[root@localhost haproxy]# docker run -it -d -p 4003:8888 -p 4004:3306 -v /usr/local/docker/haproxy2:/usr/local/etc/haproxy --name h2 --privileged --net=pxc_network --ip 172.18.0.20 haproxy啟動(dòng)haproxy
docker exec -it h1 bashhaproxy -f /usr/local/etc/haproxy/haproxy.cfg? 五、集群的監(jiān)控界面,http://192.168.1.19:4001/dbs
?
轉(zhuǎn)載于:https://www.cnblogs.com/liangyuntao-ts/p/10668273.html
總結(jié)
以上是生活随笔為你收集整理的Docker 搭建pxc集群 + haproxy + keepalived 高可用(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电脑显示器尺寸选购指导(显示器尺寸对照表
- 下一篇: JVM内存管理(一)--GC简介