Mysql高并发集群部署方案

本文介绍了使用Percona Xtradb Cluster Docker部署的MySQL高并发集群方案,详细阐述了环境准备、集群部署步骤,包括配置优化、主主环形结构的负载均衡设置,并通过不同硬件环境下的压测对比,展示了集群性能。
摘要由CSDN通过智能技术生成

总体参考:

https://zhuanlan.zhihu.com/p/60632693

方案:

基于Percona Xtradb Cluster Docker来部署mysql节点,同样基于Docker 来部署keepalived + haproxy节点,实现mysql主主环形结构的负载均衡。

本次测试 mysql节点部署9个,haproxy节点两个,在宿主机上部署keepalived实现负载均衡。

本次测试环境是centos7。

1、环境准备

首先先在机器上安装并启动docker,最好是安装高版本docker,yum源里的一般比较老了,不建议用,高版本安装可以自行解决。

然后从Docker Hub中pull下需要的image。

PXC:

docker pull percona/percona-xtradb-cluster:5.7.21 (我这边环境用lastest版本有bug,所以用了5.7.21版本)

keepalived + haproxy:

docker pull pelin/haproxy-keepalived (haproxy与keepalived合在同一个docker image中)

NOTE:pull下来的image里面mysql参数是默认参数,性能不高,需要修改参数(包括mysql、sysctl、ulimit参数),我这边以官方image为基础,run起来后exec进去,修改mysql配置文件node.cnf,然后commit出一个自己的image,tag是optimizev3(docker的相关操作这里不细说,自行解决)

2、部署

  • mysql docker节点部署

写了一个脚本,一步创建全部九个节点。脚本如下(可根据实际情况自行修改脚本):

#!/bin/bash
echo "创建网络"
docker network create  --subnet=172.18.0.0/24 pxc_net

echo "创建5个docker卷"
docker volume create v1
docker volume create v2
docker volume create v3
docker volume create v4
docker volume create v5
docker volume create v6
docker volume create v7
docker volume create v8
docker volume create v9

echo "创建节点 node1"
docker run -d -p 23306:3306  --net=pxc_net --name=node1 \
        -e CLUSTER_NAME=PXC \
        -e MYSQL_ROOT_PASSWORD=a123456 \
        -e XTRABACKUP_PASSWORD=a123456 \
        -v v1:/var/lib/mysql \
        --privileged \
        --ip 172.18.0.2 \
        percona/percona-xtradb-cluster:optimizev3
sleep 1m
echo "创建节点 node2"
docker run -d -p 23307:3306  --net=pxc_net --name=node2 \
        -e CLUSTER_N
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值