欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker 搭建Mysql集群的方法示例

 更新時(shí)間:2018年09月28日 09:59:08   作者:hongxinerke  
這篇文章主要介紹了docker 搭建Mysql集群的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

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 啟動(dòng)參數(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 同時(shí)使用;


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

安裝PXC集群(在此不做mysql pxc集群與replication集群的方案優(yōu)劣說(shuō)明,在此選用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 太長(zhǎng),進(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)建五個(gè)數(shù)據(jù)卷(pxc無(wú)法直接存取宿組機(jī)的數(shù)據(jù),所以創(chuàng)建五個(gè)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個(gè)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)建第二個(gè)節(jié)點(diǎn),等待第一個(gè)節(jié)點(diǎn)實(shí)例化完畢后,才能開(kāi)啟第二個(gè)節(jié)點(diǎn)實(shí)例,不然會(huì)瞬間停止

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

#創(chuàng)建第2個(gè)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個(gè)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個(gè)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個(gè)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

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

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ù)庫(kù),能看到已經(jīng)進(jìn)行了同步,構(gòu)成簡(jiǎn)單的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),等級(jí)info
  log 127.0.0.1 local5 info
  #守護(hù)進(jìn)程運(yùn)行
  daemon
​
defaults
  log global
  mode  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:abc123456
#數(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算法:source 
  balance roundrobin
  #日志格式
  option tcplog
  #在MySQL中創(chuàng)建一個(gè)沒(méi)有權(quán)限的haproxy用戶,密碼為空。Haproxy使用這個(gè)賬戶對(duì)MySQL數(shù)據(jù)庫(kù)心跳檢測(cè)
  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檢測(cè)死鏈
  option tcpka

創(chuàng)建第1個(gè)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容器,啟動(dòng)Haproxy

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

查看是否啟動(dòng)成功:

訪問(wèn)http://ip:4001/dbs

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

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

相關(guān)文章

  • docker部署可執(zhí)行jar包的思路與完整步驟

    docker部署可執(zhí)行jar包的思路與完整步驟

    對(duì)于springboot項(xiàng)目運(yùn)行,直接是java -jar的方式運(yùn)行,如果想要放到docker中運(yùn)行,可以參考本文,下面這篇文章主要給大家介紹了關(guān)于docker部署可執(zhí)行jar包的思路與完整步驟,需要的朋友可以參考下
    2022-07-07
  • 如何在centos的docker里安裝jupyter并開(kāi)放端口

    如何在centos的docker里安裝jupyter并開(kāi)放端口

    上次有一朋友問(wèn)小編如何在centos的docker里安裝jupyter并開(kāi)放端口呢?在這就不一一回復(fù)大家了,下面小編把我的個(gè)人經(jīng)驗(yàn)分享到腳本之家平臺(tái),感興趣的朋友一起看看吧
    2021-08-08
  • Docker使用Calico網(wǎng)絡(luò)模式配置及問(wèn)題處理方法

    Docker使用Calico網(wǎng)絡(luò)模式配置及問(wèn)題處理方法

    這篇文章主要介紹了Docker使用Calico網(wǎng)絡(luò)模式配置及問(wèn)題處理,設(shè)計(jì)思想是Calico不使用隧道或者NAT來(lái)實(shí)現(xiàn)轉(zhuǎn)發(fā),而是巧妙的把所有二三層流量轉(zhuǎn)換成三層流量,并通過(guò)host上路由配置完成跨host轉(zhuǎn)發(fā),需要的朋友可以參考下
    2022-11-11
  • 基于jib-maven-plugin插件快速構(gòu)建微服務(wù)docker鏡像的方法

    基于jib-maven-plugin插件快速構(gòu)建微服務(wù)docker鏡像的方法

    這篇文章主要介紹了基于jib-maven-plugin快速構(gòu)建微服務(wù)docker鏡像的方法,對(duì)于?Java?程序來(lái)說(shuō)使用?jib-maven-plugin?插件來(lái)構(gòu)建鏡像還是非常方便的,本文通過(guò)實(shí)例代碼詳細(xì)講解,需要的朋友可以參考下
    2023-02-02
  • Docker中的數(shù)據(jù)存放位置

    Docker中的數(shù)據(jù)存放位置

    這篇文章主要介紹了Docker中的數(shù)據(jù)存放位置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 分享Ubuntu19無(wú)法安裝docker源問(wèn)題

    分享Ubuntu19無(wú)法安裝docker源問(wèn)題

    這篇文章主要介紹了Ubuntu19無(wú)法安裝docker源問(wèn)題,本文通過(guò)實(shí)例代碼給大家講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Docker和虛擬機(jī)的區(qū)別及說(shuō)明

    Docker和虛擬機(jī)的區(qū)別及說(shuō)明

    Docker與虛擬機(jī)(VM)主要差異在于實(shí)現(xiàn)方式及效率,Docker通過(guò)打包應(yīng)用及其依賴于容器中,直接與操作系統(tǒng)內(nèi)核交互,實(shí)現(xiàn)跨系統(tǒng)運(yùn)行,而無(wú)需模擬整個(gè)操作系統(tǒng),這使得Docker在體積、啟動(dòng)速度及性能上優(yōu)于虛擬機(jī),虛擬機(jī)通過(guò)模擬硬件環(huán)境
    2024-11-11
  • docker部署vue項(xiàng)目的實(shí)現(xiàn)步驟

    docker部署vue項(xiàng)目的實(shí)現(xiàn)步驟

    本文主要介紹了docker部署vue項(xiàng)目的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 詳解docker pull 下來(lái)的鏡像都存到了哪里

    詳解docker pull 下來(lái)的鏡像都存到了哪里

    這篇文章主要介紹了詳解docker pull 下來(lái)的鏡像都存到了哪里,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • docker 使用CMD或者ENTRYPOINT命令同時(shí)啟動(dòng)多個(gè)服務(wù)

    docker 使用CMD或者ENTRYPOINT命令同時(shí)啟動(dòng)多個(gè)服務(wù)

    這篇文章主要介紹了docker 使用CMD或者ENTRYPOINT命令同時(shí)啟動(dòng)多個(gè)服務(wù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11

最新評(píng)論