婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > docker 搭建Mysql集群的方法示例

docker 搭建Mysql集群的方法示例

熱門標(biāo)簽:地圖標(biāo)注w是什么方向 新鄉(xiāng)人工智能電話機(jī)器人加盟 昆明外呼系統(tǒng) 400電話申請找哪家公司 地圖標(biāo)注需要提交啥資料入駐 河南省鄭州市地圖標(biāo)注 臨汾電銷機(jī)器人費(fèi)用 福州呼叫中心外呼系統(tǒng)哪家好 七大洲地圖標(biāo)注

docker基本指令:

更新軟件包

yum -y update

安裝Docker虛擬機(jī)(centos 7)

yum install -y docker

運(yùn)行、重啟、關(guān)閉Docker虛擬機(jī)

service docker start
service docker stop

搜索鏡像

docker search 鏡像名稱

下載鏡像

docker pull 鏡像名稱

查看鏡像

docker images

刪除鏡像

docker rmi 鏡像名稱

運(yùn)行容器

docker run 啟動參數(shù) 鏡像名稱

查看容器列表

docker ps -a

當(dāng)我們想要使用java環(huán)境,我們可以這么操作:

搜索:
[root@VM_71_225_centos ~]# docker search java
INDEX    NAME                          DESCRIPTION                   STARS   OFFICIAL  AUTOMATED
docker.io  docker.io/node                     Node.js is a JavaScript-based platform for...  5752   [OK]
docker.io  docker.io/tomcat                    Apache Tomcat is an open source implementa...  1891   [OK]
docker.io  docker.io/java                     Java is a concurrent, class-based, and obj...  1745   [OK]
docker.io  docker.io/openjdk                   OpenJDK is an open-source implementation o...  1031   [OK]
下載:
[root@VM_71_225_centos ~]# docker pull docker.io/java
Using default tag: latest
Trying to pull repository docker.io/library/java ...
latest: Pulling from docker.io/library/java
5040bd298390: Downloading [=>                         ] 1.572 MB/51.36 MB
運(yùn)行:
[root@VM_71_225_centos ~]# docker run -it --name myjava docker.io/java bash
root@25623e12b759:/# java


-i: 以交互模式運(yùn)行容器,通常與 -t 同時使用;


-t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;

安裝PXC集群(在此不做mysql pxc集群與replication集群的方案優(yōu)劣說明,在此選用pxc集群方案[多節(jié)點(diǎn)備份與強(qiáng)聯(lián)合性]):

安裝PXC鏡像

docker pull percona/percona-xtradb-cluster

查看本地鏡像

[root@VM_71_225_centos ~]# docker images
REPOSITORY                 TAG         IMAGE ID      CREATED       SIZE
docker.io/hello-world           latest       e38bc07ac18e    2 months ago    1.85 kB
docker.io/percona/percona-xtradb-cluster  latest       f1439de62087    3 months ago    413 MB
docker.io/java               latest       d23bdf5b1b1b    17 months ago    643 MB

docker.io/percona/percona-xtradb-cluster 太長,進(jìn)行改名:

[root@VM_71_225_centos ~]# docker tag percona/percona-xtradb-cluster pxc
[root@VM_71_225_centos ~]# docker images
REPOSITORY                 TAG         IMAGE ID      CREATED       SIZE
docker.io/hello-world           latest       e38bc07ac18e    2 months ago    1.85 kB
docker.io/percona/percona-xtradb-cluster  latest       f1439de62087    3 months ago    413 MB
pxc                    latest       f1439de62087    3 months ago    413 MB
docker.io/java               latest       d23bdf5b1b1b    17 months ago    643 MB

創(chuàng)建net1網(wǎng)段:

docker network create --subnet=172.18.0.0/16 net1

創(chuàng)建五個數(shù)據(jù)卷(pxc無法直接存取宿組機(jī)的數(shù)據(jù),所以創(chuàng)建五個docker數(shù)據(jù)卷)

docker volume create v1
docker volume create v2
docker volume create v3
docker volume create v4
docker volume create v5

查看數(shù)據(jù)卷位置:

[root@VM_71_225_centos code]# docker inspect v1
[
  {
    "Driver": "local",
    "Labels": {},
    "Mountpoint": "/var/lib/docker/volumes/v1/_data",
    "Name": "v1",
    "Options": {},
    "Scope": "local"
  }
]

創(chuàng)建5節(jié)點(diǎn)的PXC集群

#創(chuàng)建第1個MySQL節(jié)點(diǎn)
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -v v1:/var/lib/mysql -v backup:/data --privileged --name=node1 --net=net1 --ip 172.18.0.2 pxc

等待2分鐘后,再創(chuàng)建第二個節(jié)點(diǎn),等待第一個節(jié)點(diǎn)實(shí)例化完畢后,才能開啟第二個節(jié)點(diǎn)實(shí)例,不然會瞬間停止

創(chuàng)建其他節(jié)點(diǎn):

#創(chuàng)建第2個MySQL節(jié)點(diǎn)
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v2:/var/lib/mysql -v backup:/data --privileged --name=node2 --net=net1 --ip 172.18.0.3 pxc
#創(chuàng)建第3個MySQL節(jié)點(diǎn)
docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v3:/var/lib/mysql --privileged --name=node3 --net=net1 --ip 172.18.0.4 pxc
#創(chuàng)建第4個MySQL節(jié)點(diǎn)
docker run -d -p 3309:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v4:/var/lib/mysql --privileged --name=node4 --net=net1 --ip 172.18.0.5 pxc
#創(chuàng)建第5個MySQL節(jié)點(diǎn)
docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v5:/var/lib/mysql -v backup:/data --privileged --name=node5 --net=net1 --ip 172.18.0.6 pxc

測試在任意mysql節(jié)點(diǎn)創(chuàng)建數(shù)據(jù)庫:

mysql -h 172.18.0.3 -uroot -pabc123456

mysql> create database test;
Query OK, 1 row affected (0.03 sec)

登錄其他節(jié)點(diǎn)數(shù)據(jù)庫,能看到已經(jīng)進(jìn)行了同步,構(gòu)成簡單的mysql集群

安裝Haproxy進(jìn)行高可用與負(fù)載均衡

拉取haproxy

docker pull haproxy

編寫Haproxy配置文件

vi /home/soft/haproxy.cfg

配置文件如下:

global
  #工作目錄
  chroot /usr/local/etc/haproxy
  #日志文件,使用rsyslog服務(wù)中l(wèi)ocal5日志設(shè)備(/var/log/local5),等級info
  log 127.0.0.1 local5 info
  #守護(hù)進(jìn)程運(yùn)行
  daemon
​
defaults
  log global
  mode  http
  #日志格式
  option httplog
  #日志中不記錄負(fù)載均衡的心跳檢測記錄
  option dontlognull
  #連接超時(毫秒)
  timeout connect 5000
  #客戶端超時(毫秒)
  timeout client 50000
  #服務(wù)器超時(毫秒)
  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ì)報告格式
  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)建一個沒有權(quán)限的haproxy用戶,密碼為空。Haproxy使用這個賬戶對MySQL數(shù)據(jù)庫心跳檢測
  option mysql-check user haproxy
  server MySQL_1 172.18.0.2:3306 check weight 1 maxconn 2000 
  server MySQL_2 172.18.0.3:3306 check weight 1 maxconn 2000 
  server MySQL_3 172.18.0.4:3306 check weight 1 maxconn 2000 
  server MySQL_4 172.18.0.5:3306 check weight 1 maxconn 2000
  server MySQL_5 172.18.0.6:3306 check weight 1 maxconn 2000
  #使用keepalive檢測死鏈
  option tcpka

創(chuàng)建第1個Haproxy負(fù)載均衡服務(wù)器

復(fù)制代碼 代碼如下:
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.18.0.7 haproxy

進(jìn)入h1容器,啟動Haproxy

docker exec -it h1 bash
haproxy -f /usr/local/etc/haproxy/haproxy.cfg

查看是否啟動成功:

訪問http://ip:4001/dbs

安裝keepalive實(shí)現(xiàn)雙擊熱備

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:岳陽 海口 股票 四川 烏海 鎮(zhèn)江 紅河 臨沂

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《docker 搭建Mysql集群的方法示例》,本文關(guān)鍵詞  docker,搭建,Mysql,集群,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《docker 搭建Mysql集群的方法示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于docker 搭建Mysql集群的方法示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 台中市| 谢通门县| 郴州市| 新绛县| 静宁县| 祁连县| 勐海县| 吴忠市| 龙岩市| 宝坻区| 竹溪县| 崇礼县| 句容市| 东乡族自治县| 阳谷县| 惠来县| 垫江县| 永兴县| 任丘市| 社会| 龙井市| 林周县| 昌邑市| 尉犁县| 沅陵县| 金山区| 阿瓦提县| 保靖县| 东乌珠穆沁旗| 伊川县| 南丹县| 海丰县| 启东市| 四子王旗| 钟山县| 万盛区| 青阳县| 松溪县| 秦皇岛市| 司法| 临颍县|