Docker - 搭建Mysql PXC高可用集群环境部署

2023-03-07 18:11:05 来源:腾讯云 分享到:

Docker 基本用法

1.安装 docker


(相关资料图)

yum -y updateyum install -y docker

2.启动 / 关闭 / 重启 docker

service docker start / systemctl start dockerservice docker stop / systemctl stop dockerservice docker restart / systemctl restart docker

ps:我本地机器用第二个命令启动成功的。

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:设置如果报错,去配置文件修改,去掉最后的一个逗号,路径vim /etc/docker/daemon.json, 修改配置完,最好重启docker,以避免不必要的错误。

如果是添加阿里云docker的加速器,开通加速服务在配置项里找到对应的命令,

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中已经安装的镜像

docker images

6.导入和导出镜像

docker save docker.io/java > /home/docker/java.tar.gz #导出docker镜像docker load < /home/docker/java.tar.gz 导入docker镜像docker imagesdocker rmi java

7.启动容器

docker run -it docker.io/java bash -p 9000:8080 -p 9001:8085  # -p 映射宿主机和虚拟机的端口-v /home/project:/soft  #-v 映射宿主机和虚拟机的文件夹--privileged # 目录权限--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 #恢复容器的运行docker stop myjava #暂停容器docker start -i myjava #重启

9.查看运行的容器

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集群环境部署

PXC集群特点:

同步复制,事务在所有的集群节点要么同时提交,要么同时不提交Replication采用异步复制,无法保证数据的一致性

1.下载镜像

docker pull percona/percona-xtradb-cluster

2.出于安全考虑,需要给pxc集群实例创建docker内部网络

docker network create --subnet=172.20.1.0/24 net1docker network inspect net1docker network rm net1

ps:阿里云服务器没有成功???!!中间遇到了一个小问题,Error response from daemon, 这个是因为172.18 的网段已经存在,可以docker network ls查看,换一个网段就解决了

3.创建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#创建第一个节点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#创建第二个节点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#创建第三个节点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#创建第四个节点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#创建第五个节点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:在这个地方又遇到了个问题,创建了5个node节点,但是只启动了2个,3个失败???暂时还不知道原因???启动的状态都为Exited???!!

使用这句命令全部启动实例docker ps -aq | xargs -I {} docker start {}

5.mysql的负载均衡haproxy

docker pull haproxy

6.实例化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服务中local5日志设备(/var/log/local5),等级infolog 127.0.0.1 local5 info#守护进程运行daemondefaultslogglobalmodehttp#日志格式optionhttplog#日志中不记录负载均衡的心跳检测记录optiondontlognull   #连接超时(毫秒)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.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 完成双机热备,登录haproxy,执行命令

apt-get updateapt-get install keepalived

9.配置keepalive,

#创建第2个Haproxy负载均衡服务器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    }}#启动Keepalivedservice keepalived start#宿主机执行ping命令ping 172.20.1.201
#创建第2个Haproxy负载均衡服务器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#进入h2容器,启动Haproxydocker exec -it h2 bashhaproxy -f /usr/local/etc/haproxy/haproxy.cfg
标签:

Docker - 搭建Mysql PXC高可用集群环境部署

来源:腾讯云 2023-03-07 18:11:05

时讯:温暖的反义词是寒冷吗

来源:万年历 2023-03-07 17:47:53

四维图新董秘回复:本次转让大股东是出于自身改革发展需要进行

来源:证券之星 2023-03-07 16:27:43

全球微速讯:青岛人工智能计算中心正式上线

来源:华为数字中国 2023-03-07 14:40:10

市场观潮丨母婴产业需做好细分市场

来源:中工网-工人日报 2023-03-07 07:51:38

虐待的拼音是什么_虐待的拼音|当前热议

来源:互联网 2023-03-07 04:13:08

女子不慎将皮包遗落在共享电动车上,襄阳巡警迅速帮寻回

来源:极目新闻 2023-03-06 22:52:01

CH3COOH是什么物质 动态焦点

来源:万年历 2023-03-06 14:54:52

广州长城宽带吧_广州长城宽带倒闭-环球报道

来源:互联网 2023-03-06 13:42:13

英语游戏教学幼儿_英语游戏翻译器-每日热点

来源:互联网 2023-03-06 04:28:48

一立方等于多少米厘米_一立方等于多少米 天天百事通

来源:互联网 2023-03-05 14:43:17

全球今头条!山东科润电气科技有限公司

来源:互联网 2023-03-05 13:44:16

2023春季全国中小学消防安全公开课回放入口(多个) 世界即时看

来源:本地宝 2023-03-04 07:45:49

匠心独运的意思是_匠心独运的意思_当前头条

来源:互联网 2023-03-02 17:29:46

突然关闭!很多人退款无门!昆明这家店被曝光

来源:昆明日报-掌上春城 2023-03-02 16:07:37

天天简讯:守护百姓“健康钱”!义乌市财政四举措加强医保基金监管工作

来源:新报观察 2023-03-02 11:10:28

陈若仪与婆婆吃冰狂吹彩虹屁,70岁林妈保养超好,气质不输儿媳

来源:烫手煽娱 2023-03-02 05:55:35

日本人名字的由来和历史_日本人名字

来源:互联网 2023-03-02 05:28:37

妹妹找哥泪花流原唱_送给喜欢的你

来源:互联网 2023-03-02 00:47:37

委员建议尽快建立动漫分级制度事件简单介绍

来源:互联网 2023-03-01 21:35:52

当前报道:少儿弈客围棋对弈平台是什么_少儿弈客围棋对弈平台

来源:互联网 2023-03-01 20:04:40

天天消息!苏州积分入学可以上高中吗

来源:本地宝 2023-03-01 19:06:36

疫情期间国际快递海关会消毒吗 境外包裹如何防疫 天天观速讯

来源:互联网 2023-03-01 16:57:41

世界快报:普尔三次VS开拓者:场均36分&三分准星46.9% 每场得分都超利拉德

来源:直播吧 2023-03-01 15:04:48

全球百事通!Bestiario

来源:互联网 2023-03-01 14:28:08

这一高铁站引入地铁线,新九年一贯制学校,力争“千亿”目标……这些热点,北辰区区长回应!

来源:百家号 2023-03-01 13:08:39

【环球快播报】新能源产业发展竞争力增强

来源:人民日报 2023-03-01 11:09:50

【世界快播报】有助于睡眠的食物和茶_有助于睡眠的食物

来源:互联网 2023-03-01 09:01:45

最资讯丨品是啥结构的字_pin是啥

来源:互联网 2023-03-01 09:00:48

阿里研究院副院长谭崇钧: 平台扩展创业新空间-天天热议

来源:经济日报 2023-03-01 06:42:23

Copyright   2015-2023 今日知识产权网 版权所有  备案号:沪ICP备2023005074号-40   联系邮箱:5 85 59 73 @qq.com