Docker - 搭建Mysql PXC高可用集群環(huán)境部署
時(shí)間:2023-03-10 11:02:56 來源:騰訊云
Docker 基本用法
1.安裝 docker
yum -y updateyum install -y docker
2.啟動(dòng) / 關(guān)閉 / 重啟 docker
【資料圖】
service docker start / systemctl start dockerservice docker stop / systemctl stop dockerservice docker restart / systemctl restart docker
ps:我本地機(jī)器用第二個(gè)命令啟動(dòng)成功的。
3.配置docker鏡像加速器
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh |sh -s http://f1361db2.m.daocloud.io #linuxhttp://f1361db2.m.daocloud.io #macOshttp://f1361db2.m.daocloud.io #Windows
ps:設(shè)置如果報(bào)錯(cuò),去配置文件修改,去掉最后的一個(gè)逗號(hào),路徑vim /etc/docker/daemon.json
, 修改配置完,最好重啟docker,以避免不必要的錯(cuò)誤。
如果是添加阿里云docker的加速器,開通加速服務(wù)在配置項(xiàng)里找到對應(yīng)的命令,
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-"EOF"{ "registry-mirrors": ["https://lgltjulp.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker
4.查找并安裝鏡像
docker search java #查找鏡像docker pull docker.io/java #安裝你需要的鏡像
5.查看docker中已經(jīng)安裝的鏡像
docker images
6.導(dǎo)入和導(dǎo)出鏡像
docker save docker.io/java > /home/docker/java.tar.gz #導(dǎo)出docker鏡像docker load < /home/docker/java.tar.gz 導(dǎo)入docker鏡像docker imagesdocker rmi java
7.啟動(dòng)容器
docker run -it docker.io/java bash -p 9000:8080 -p 9001:8085 # -p 映射宿主機(jī)和虛擬機(jī)的端口-v /home/project:/soft #-v 映射宿主機(jī)和虛擬機(jī)的文件夾--privileged # 目錄權(quán)限--name myjava
docker run -it -p 9000:8080 -p 9001:8085 -v /home/project:/soft --privileged --name myjava docker.io/java bash
8.暫停和停止容器
docker pause myjava # 暫停容器docker unpause myjava #恢復(fù)容器的運(yùn)行docker stop myjava #暫停容器docker start -i myjava #重啟
9.查看運(yùn)行的容器
docker ps -a docker run -it -p 9000:8080 -p 9001:8085 -v /home/project:/soft--privileged --name myjava docker.io/java bash
Mysql PXC集群環(huán)境部署
PXC集群特點(diǎn):
同步復(fù)制,事務(wù)在所有的集群節(jié)點(diǎn)要么同時(shí)提交,要么同時(shí)不提交Replication采用異步復(fù)制,無法保證數(shù)據(jù)的一致性1.下載鏡像
docker pull percona/percona-xtradb-cluster
2.出于安全考慮,需要給pxc集群實(shí)例創(chuàng)建docker內(nèi)部網(wǎng)絡(luò)
docker network create --subnet=172.20.1.0/24 net1docker network inspect net1docker network rm net1
ps:阿里云服務(wù)器沒有成功???!!中間遇到了一個(gè)小問題,Error response from daemon
, 這個(gè)是因?yàn)?72.18 的網(wǎng)段已經(jīng)存在,可以docker network ls
查看,換一個(gè)網(wǎng)段就解決了
3.創(chuàng)建docker卷
docker volume create --name v1docker volume create --name v2docker volume create --name v3docker volume create --name v4docker volume create --name v5
4.查看docker卷信息
docker inspect v1#創(chuàng)建第一個(gè)節(jié)點(diǎn)docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=123456-e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 --name=node1 --net=net1 --ip 172.20.1.2 pxc#創(chuàng)建第二個(gè)節(jié)點(diǎn)docker run -d -p 3311:3306 -e MYSQL_ROOT_PASSWORD=123456-e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456-e CLUSTER_JOIN=node1--name=node2 --net=net1 --ip 172.20.1.3 pxc#創(chuàng)建第三個(gè)節(jié)點(diǎn)docker run -d -p 3315:3306 -e MYSQL_ROOT_PASSWORD=123456-e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456-e CLUSTER_JOIN=node1 --name=node3 --net=net1 --ip 172.20.1.7 pxc#創(chuàng)建第四個(gè)節(jié)點(diǎn)docker run -d -p 3313:3306 -e MYSQL_ROOT_PASSWORD=123456-e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456-e CLUSTER_JOIN=node1 --name=node4 --net=net1 --ip 172.20.1.5 pxc#創(chuàng)建第五個(gè)節(jié)點(diǎn)docker run -d -p 3314:3306 -e MYSQL_ROOT_PASSWORD=123456-e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456-e CLUSTER_JOIN=node1--name=node5 --net=net1 --ip 172.20.1.6 pxc
ps:在這個(gè)地方又遇到了個(gè)問題,創(chuàng)建了5個(gè)node節(jié)點(diǎn),但是只啟動(dòng)了2個(gè),3個(gè)失敗???暫時(shí)還不知道原因???啟動(dòng)的狀態(tài)都為Exited???!!
使用這句命令全部啟動(dòng)實(shí)例docker ps -aq | xargs -I {} docker start {}
5.mysql的負(fù)載均衡haproxy
docker pull haproxy
6.實(shí)例化haproxy
docker run -it -d -p 4001:8888 -p 4002:3306 -v /home/soft/haproxy:/usr/local/etc/haproxy --name h1 --privileged --net=net1 --ip 172.20.1.10 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)行daemondefaultslogglobalmodehttp#日志格式optionhttplog#日志中不記錄負(fù)載均衡的心跳檢測記錄optiondontlognull #連接超時(shí)(毫秒)timeout connect 5000 #客戶端超時(shí)(毫秒)timeout client 50000#服務(wù)器超時(shí)(毫秒) timeout server 50000#監(jiān)控界面listen admin_stats#監(jiān)控界面的訪問的IP和端口bind 0.0.0.0:8888#訪問協(xié)議 mode http#URI相對地址 stats uri /dbs#統(tǒng)計(jì)報(bào)告格式 stats realm Global\ statistics#登陸帳戶信息 stats auth admin:abc123456#數(shù)據(jù)庫負(fù)載均衡listen proxy-mysql#訪問的IP和端口bind 0.0.0.0:3306 #網(wǎng)絡(luò)協(xié)議mode tcp#負(fù)載均衡算法(輪詢算法)#輪詢算法:roundrobin#權(quán)重算法:static-rr#最少連接算法:leastconn#請求源IP算法:source balance roundrobin#日志格式 option tcplog#在MySQL中創(chuàng)建一個(gè)沒有權(quán)限的haproxy用戶,密碼為空。 #Haproxy使用這個(gè)賬戶對MySQL數(shù)據(jù)庫心跳檢測 option mysql-check user haproxy server MySQL_1 172.20.1.2:3306 check weight 1 maxconn 2000 server MySQL_2 172.20.1.3:3306 check weight 1 maxconn 2000 server MySQL_3 172.20.1.7:3306 check weight 1 maxconn 2000 server MySQL_4 172.20.1.5:3306 check weight 1 maxconn 2000 server MySQL_5 172.20.1.6:3306 check weight 1 maxconn 2000#使用keepalive檢測死鏈 option tcpka
7.登陸到交互容器里
docker exec -it h1 bash
8.安裝keepalive 完成雙機(jī)熱備,登錄haproxy,執(zhí)行命令
apt-get updateapt-get install keepalived
9.配置keepalive,
#創(chuàng)建第2個(gè)Haproxy負(fù)載均衡服務(wù)器docker run -it -d -p 4003:8888 -p 4004:3306 -v /home/soft/haproxy:/usr/local/etc/haproxy --name h2 --privileged --net=net1 --ip 172.20.1.10 haproxy
vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 123456 } virtual_ipaddress { 172.20.1.201 }}#啟動(dòng)Keepalivedservice keepalived start#宿主機(jī)執(zhí)行ping命令ping 172.20.1.201
#創(chuàng)建第2個(gè)Haproxy負(fù)載均衡服務(wù)器docker run -it -d -p 4003:8888 -p 4004:3306 -v /home/soft/haproxy:/usr/local/etc/haproxy --name h2 --privileged --net=net1 --ip 172.20.1.11 haproxy#進(jìn)入h2容器,啟動(dòng)Haproxydocker exec -it h2 bashhaproxy -f /usr/local/etc/haproxy/haproxy.cfg
標(biāo)簽:
最新文章推薦
- 陜西7名核酸檢測陽性外省游客活動(dòng)軌跡公布
- 萬人說新疆 | 棉花朵朵賽白云,阿克蘇美出新高度!
- 萬人說新疆 | 孫芳紅:我在新疆每天過得很充實(shí)也很快樂
- 萬人說新疆 | 棉農(nóng)阿卜來提開心地笑了
- 萬人說新疆 | 阿迪力的棉花合作社年入300萬
- 四川樂山犍為縣發(fā)生4.3級(jí)地震 無人員傷亡
- 西安全面開展排查管控 目前20481人核酸檢測結(jié)果均陰性
- 陜西7名核檢陽性者為一旅行團(tuán)同行人員 活動(dòng)軌跡公布
- 西安交大舉行2021級(jí)本科生迎新會(huì) 校長:學(xué)習(xí)是主動(dòng)作為之事
- 【母親河畔的中國】黃河岸邊的這個(gè)村莊如何打好旅游服務(wù)牌?
- 嘉峪關(guān)市:排查出核酸陽性游客密接者26人 核酸均為陰性
- 四川樂山市犍為縣發(fā)生4.3級(jí)地震 震源深度10千米
- 明天起新一輪冷空氣又來 本周中東部氣溫持續(xù)偏低
- 陜西2例外省游客核酸陽性病例曾去內(nèi)蒙古額濟(jì)納旗 詳情公布
- 北京本周陽光唱“主調(diào)” 夜間氣溫依然很“高冷”
- 海南島中東部出現(xiàn)強(qiáng)降雨 西藏西南部有較強(qiáng)降雪
- 寧夏銀川一例外省返銀核酸檢測陽性人員已確診
- 全球氣候變暖為何還會(huì)有強(qiáng)寒潮來襲?氣象專家解讀
- 云南省新增2例本土無癥狀感染者
- 寧夏銀川新增一例外省返銀核酸檢測陽性人員
資訊中心
2021-10-18
2021-10-18
2021-10-18
熱點(diǎn)資訊
-
1
Docker - 搭建Mysql PXC高可用集群環(huán)境部署
-
2
今天最新消息 中歐班列 重慶第一萬列重箱折列抵達(dá)杜伊斯堡
-
3
軟件怎么從c盤移到d盤_軟件怎么從c盤移到d盤-世界熱點(diǎn)
-
4
雷庵正受的一生_雷庵正受的詩
-
5
變形金剛元始天尊是誰_變形金剛元始天尊之死
-
6
315揭露節(jié)電器騙局_拼多多上的節(jié)電器是真的假的 天天觀速訊
-
7
設(shè)計(jì)師簡歷怎么寫簡歷_設(shè)計(jì)師簡歷怎么寫
-
8
全球要聞:q幣充值中心話費(fèi)支付_聯(lián)通充值q幣短信方式
-
9
世界即時(shí):商洛市住房公積金查詢官網(wǎng)_商洛市住房公積金查詢
-
10
全國政協(xié)委員、貝達(dá)藥業(yè)董事長丁列明:建立定制藥時(shí)代的研發(fā)和技術(shù)審評(píng)新機(jī)制
-
11
劍雨 摩羅_電影劍雨的問題劍雨羅摩遺體的秘密究竟是什么 天天速訊
-
12
澳大利亞決定取消對自中國入境旅客的行前新冠檢測要求
-
13
手機(jī)耳機(jī)如何用在電腦上用_手機(jī)耳機(jī)怎么在電腦上用不
-
14
今日pd900鈀金回收價(jià)格查詢(2023年03月09日)-環(huán)球新資訊
-
15
集鏈成群,打造“世界光谷”
-
16
湖北現(xiàn)購車狂潮:東風(fēng)系多品牌最高降9萬遭瘋搶,部分車型斷貨
-
17
末影之眼要怎么用_末影之眼怎么用-環(huán)球?qū)崟r(shí)
-
18
陽了應(yīng)該怎么辦-陽性感染者如何用藥 03月09日00時(shí)廣東茂名疫情數(shù)據(jù)|天天速看料
-
19
北京周邊自駕游地方_北京周邊自駕游攻略分享北京周邊景區(qū)推薦攻略_環(huán)球觀點(diǎn)
-
20
全球通訊!小米云端登陸地址_小米云端登陸