首页 > 其他分享 >丐版pxc集群

丐版pxc集群

时间:2024-04-09 14:56:03浏览次数:17  
标签:haproxy 10.1 -- percona 集群 mysql pxc 丐版 docker

同步

systemctl stop firewalld && systemctl disable firewalld
systemctl stop NetworkManager && systemctl disable NetworkManager

setenforce 0
sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config

swapoff -a
sed -ri 's/.swap./#&/' /etc/fstab

yum install chrony -y
systemctl enable chronyd --now
chronyc sources

ip修改(这里改成核弹发送密码)
10.1.161.28
10.1.161.26(原本是25,被人占了ip)
10.1.161.6
主机名设置

sudo hostnamectl set-hostname node01
sudo hostnamectl set-hostname node02
sudo hostnamectl set-hostname node03
全部
bash

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install -y kernel-lt
grep initrd16 /boot/grub2/grub.cfg
grub2-set-default 0
reboot
uname -a

镜像拉我们的私有库:我们的仓库地址():
https://10.1.161.110:5000/
私有库使用步骤:
-----------------------------可省略:这个弄起来太麻烦,一般情况下,都会用k8s整一个插件,用k8s喊我就行,一般情况就下个镜像包load一下就好,大多数镜像都是可以直接拉下来的。

或者有时间也可以去b站自己学k8s...,找时间最新的。docker和k8s不走外部代理,所以代理是没有用的。解决方法就是用k8s的那个插件

docker pull percona/percona-xtradb-cluster:5.7.27
docker pull swarm

docker tag percona/percona-xtradb-cluster:5.7.27 10.1.161.110:5000/percona/percona-xtradb-cluster:5.7.27
docker tag swarm:latest 10.1.161.110:5000/percona/swarm:latest

docker push 10.1.161.110:5000/percona/percona-xtradb-cluster:5.7.27
docker push 10.1.161.110:5000/percona/swarm:latest
---------------------------------------可省略--------------

curl -fsSL https://get.docker.com | bash

yum -y install docker-ce
sudo systemctl start docker
sudo systemctl enable docker

docker pull percona/percona-xtradb-cluster:5.7.21

pxc无法映射目录,只能创建数据卷,分别创建mysql数据卷和配置卷

docker volume create mysql-data
docker volume create mysql-conf
docker run -d -v mysql-data:/var/lib/mysql --restart always -e TZ=Asia/Shanghai
-e CLUSTER_NAME=PXC -v mysql-conf:/etc/mysql
-e MYSQL_ROOT_PASSWORD=123456 -e EXTRABACKUP_PASSWROD=123456
--privileged --name=mysql-node1 --net=host percona/percona-xtradb-cluster:5.7.21

navicat看下能不能连,能连说明node1安装成功
(附加:
sql_model的模式如果要更改的话:
查一下:docker inspect mysql-conf
修改my.cnf
然后docker restart mysql-node1
)
跟第一个差不多:

pxc无法映射目录,只能创建数据卷,分别创建mysql数据卷和配置卷

docker volume create mysql-data

docker volume create mysql-conf

docker run -idt -v mysql-data:/var/lib/mysql --restart always -e TZ=Asia/Shanghai
-e CLUSTER_NAME=PXC -v mysql-conf:/etc/mysql -e CLUSTER_JOIN=10.1.161.28
-e MYSQL_ROOT_PASSWORD=123456 -e EXTRABACKUP_PASSWROD=123456
--privileged --name=mysql-node2 --net=host percona/percona-xtradb-cluster:5.7.21

然后重复第一个节点的步骤,修改my.cnf然后重启
node2也好了

测试一下:
node1新建一个用户:
CREATE USER 'haproxy'@'%' IDENTIFIED BY '';
node2用户表看一下有没有这个用户

可选:
继续负载均衡:

拉取haprox镜像

docker pull haproxy

新建目录

mkdir -p /data/haproxy

新建配置文件

vi /data/haproxy/haproxy.cfg

haproxy.cfg配置:注意改一下server,server就是两个数据库的连接

global
#工作目录,这边要和创建容器指定的目录对应
# chroot /usr/local/etc/haproxy
#日志文件
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_monitor
#统计报告格式
stats realm Global\ statistics
#登陆帐户信息
stats auth admin:admin
#数据库负载均衡
listen proxy-mysql
#访问的IP和端口,haproxy开发的端口为3306
#假如有人访问haproxy的3306端口,则将请求转发给下面的数据库实例
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 10.1.161.28:3306 check weight 1 maxconn 2000
server MySQL_2 10.1.161.26:3306 check weight 1 maxconn 2000
#使用keepalive检测死链
option tcpka

启动一下:

在主节点创建haproxy容器

docker run -d -p 8888:8888 -p 3307:3306 -v /data/haproxy:/usr/local/etc/haproxy
--name haproxy --privileged haproxy

测一下有没有通:
http://10.1.161.28:8888/dbs_monitor
admin admin

连一下:
10.1.161.28:3306

root 123456

新建一个数据库瞅瞅,发现都同步了,至此,丐版pxc集群完成。

标签:haproxy,10.1,--,percona,集群,mysql,pxc,丐版,docker
From: https://www.cnblogs.com/zwnfdswww/p/18112077

相关文章

  • 在CentOS7上搭建hadoop集群
    hadoop官方下载地址https://hadoop.apache.org/releases.html用到的命令/root/hadoop-3.4.0/bin/hdfsnamenode-format,start-all.sh,stop-all.sh1.三台虚拟机分别设置静态ip2.设置免密登录(更改主机名、添加映射)3.配置hadoop(添加环境变量)core-site.xmlhdfs-site.......
  • 全国首个!天翼云上海临港国产单池万卡液冷算力集群启用!
    3月22日,中国电信宣布,天翼云上海临港国产万卡算力池正式启用,八家合作伙伴宣布将作为首批用户入驻临港国产算力池。这是国内首个投入正式运营的国产单池万卡液冷算力集群,也是业内领先的全国产化云智一体公共智算中心。通过中国电信天翼云打造的人工智能公共算力服务平台,将以公共......
  • Redis中的集群(一)
    集群概述Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能节点一个Redis集群通常由多个节点(node)组成,在刚开始的时候,每个节点都是相互独立的,它们都处于一个只包含自己的集群当中,要组建一个真正可工作的集群,则必须......
  • 手把手带你,在K8S集群中删除处于 "terminating" 状态命名空间。
    1.背景背景:在Kubernetes集群中,有时侯想要删掉某个长时间不用命名空间以释放资源却发现删不掉,经过反复删除发现想要删除命名空间处在Terminating状态,强制删除也无济于事。作者也遇到这样事情,我又是如何删除掉呢?#kubectlgetnsNAMESTATUSAGEdefaul......
  • 全国首/个!天翼云上海临港国产单池万卡液冷算力集群启用!
    3月22日,中国电信宣布,天翼云上海临港国产万卡算力池正式启用,八家合作伙伴宣布将作为首批用户入驻临港国产算力池。这是国内首/个投入正式运营的国产单池万卡液冷算力集群,也是业内领先的全国产化云智一体公共智算中心。通过中国电信天翼云打造的人工智能公共算力服务平台,将以公共普......
  • Kafka 集群架构
    Kafka集群架构设计旨在提供高吞吐量、低延迟、容错性和可扩展性的消息传递服务。以下是Kafka集群架构的关键组成部分及其工作原理:核心组件BrokerBroker是Kafka集群中的一个独立服务器实例。每个Broker负责维护一部分Topic的Partition,并提供消息的接收、存储、检索和转发......
  • Hadoop集群下的wordcount运行出错类型及解决方法
    1、启动wordcont程序显示异常:原因:2、显示服务器连接不成功:原因:虚拟机配置问题,导致yarn服务没有启动3、运行结果不正确:原因:暂未发现,求解答......
  • Redis的前世今生(内存管理、持久化、高可用、集群 详解)一看就懂
    Redis的诞生:    redis的诞生和mysql脱不了关系,在redis还未出现时,用户的每次请求都是直接访问mysql,渐渐的人们发现,请求大部分都是读操作,而且很多都是重复的数据,磁盘的i/o是很慢的,所以人们就想,能不能学学cpu建立的缓存机制,mysql也搞一个缓存,就这样一个基于内存的数据库......
  • Redis—集群扩缩容
    Redis可以通过主从节点读写分离来扩展主节点读取能力,那么新增主节点也可以增强数据写入能力。https://zhuanlan.zhihu.com/p/104641341https://www.cnblogs.com/lemon-flm/p/15190528.htmlRedisClusterRedis通过主从复制来扩展主节点的数据读取能力,但是当主节点的写入......
  • K8s集群备份还原与迁移利器-Velero
    一、简介Velero是一款云原生时代的灾难恢复和迁移工具,采用Go语言编写,并在github上进行了开源,利用velero用户可以安全的备份、恢复和迁移Kubernetes集群资源和持久卷。开源地址:https://github.com/vmware-tanzu/velero官方文档:https://velero.io/docs/v1.11/1.1支......