亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker怎么搭建Mysql集群

發布時間:2021-02-18 13:51:09 來源:億速云 閱讀:171 作者:小新 欄目:服務器

這篇文章主要介紹了docker怎么搭建Mysql集群,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

docker基本指令:

更新軟件包

yum -y update

安裝Docker虛擬機(centos 7)

yum install -y docker

運行、重啟、關閉Docker虛擬機

service docker start
service docker stop

搜索鏡像

docker search 鏡像名稱

下載鏡像

docker pull 鏡像名稱

查看鏡像

docker images

刪除鏡像

docker rmi 鏡像名稱

運行容器

docker run 啟動參數 鏡像名稱

查看容器列表

docker ps -a

當我們想要使用java環境,我們可以這么操作:

搜索:
[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
運行:
[root@VM_71_225_centos ~]# docker run -it --name myjava docker.io/java bash
root@25623e12b759:/# java


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


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

安裝PXC集群(在此不做mysql pxc集群與replication集群的方案優劣說明,在此選用pxc集群方案[多節點備份與強聯合性]):

安裝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 太長,進行改名:

[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

創建net1網段:

docker network create --subnet=172.18.0.0/16 net1

創建五個數據卷(pxc無法直接存取宿組機的數據,所以創建五個docker數據卷)

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

查看數據卷位置:

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

創建5節點的PXC集群

#創建第1個MySQL節點
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分鐘后,再創建第二個節點,等待第一個節點實例化完畢后,才能開啟第二個節點實例,不然會瞬間停止

創建其他節點:

#創建第2個MySQL節點
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
#創建第3個MySQL節點
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
#創建第4個MySQL節點
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
#創建第5個MySQL節點
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節點創建數據庫:

mysql -h 172.18.0.3 -uroot -pabc123456

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

登錄其他節點數據庫,能看到已經進行了同步,構成簡單的mysql集群

安裝Haproxy進行高可用與負載均衡

拉取haproxy

docker pull haproxy

編寫Haproxy配置文件

vi /home/soft/haproxy.cfg

配置文件如下:

global
  #工作目錄
  chroot /usr/local/etc/haproxy
  #日志文件,使用rsyslog服務中local5日志設備(/var/log/local5),等級info
  log 127.0.0.1 local5 info
  #守護進程運行
  daemon

defaults
  log global
  mode  http
  #日志格式
  option httplog
  #日志中不記錄負載均衡的心跳檢測記錄
  option dontlognull
  #連接超時(毫秒)
  timeout connect 5000
  #客戶端超時(毫秒)
  timeout client 50000
  #服務器超時(毫秒)
  timeout server 50000

#監控界面  
listen admin_stats
  #監控界面的訪問的IP和端口
  bind 0.0.0.0:8888
  #訪問協議
  mode    http
  #URI相對地址
  stats uri  /dbs
  #統計報告格式
  stats realm   Global\ statistics
  #登陸帳戶信息
  stats auth admin:abc123456
#數據庫負載均衡
listen proxy-mysql
  #訪問的IP和端口
  bind 0.0.0.0:3306 
  #網絡協議
  mode tcp
  #負載均衡算法(輪詢算法)
  #輪詢算法:roundrobin
  #權重算法:static-rr
  #最少連接算法:leastconn
  #請求源IP算法:source 
  balance roundrobin
  #日志格式
  option tcplog
  #在MySQL中創建一個沒有權限的haproxy用戶,密碼為空。Haproxy使用這個賬戶對MySQL數據庫心跳檢測
  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

創建第1個Haproxy負載均衡服務器

docker run -it -d -p 4001:8888 -p 4002:3306 -v /home/soft/haproxy:/usr/local/etc/haproxy --name h2 --privileged --net=net1 --ip 172.18.0.7 haproxy

進入h2容器,啟動Haproxy

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

查看是否啟動成功:

訪問http://ip:4001/dbs

docker怎么搭建Mysql集群

安裝keepalive實現雙擊熱備

感謝你能夠認真閱讀完這篇文章,希望小編分享的“docker怎么搭建Mysql集群”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

马尔康县| 万山特区| 贵溪市| 兴安盟| 图们市| 原阳县| 崇仁县| 永清县| 滦南县| 兴安县| 桂阳县| 阿坝县| 邯郸市| 瑞丽市| 根河市| 什邡市| 罗源县| 通州区| 浠水县| 青岛市| 平阴县| 桐庐县| 建德市| 长海县| 朔州市| 温州市| 桦川县| 荥阳市| 迁西县| 康定县| 荣成市| 盖州市| 汕头市| 崇州市| 军事| 云阳县| 分宜县| 康马县| 靖安县| 金昌市| 广州市|