6

MyCAT集群在线扩容的场景小结

 3 years ago
source link: https://mp.weixin.qq.com/s?__biz=MjM5ODEzNDA4OA%3D%3D&%3Bmid=2650318360&%3Bidx=1&%3Bsn=5195dcc543c418f31c8865cfc85c55a4
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

这是学习笔记的第  2318 篇文章

iMZvUzM.gif!mobile

最近线上有一套集群的存储存在瓶颈,导致经常会有报警,如果按照存储现状和稍后的假期的数据增长,很可能会带来一些意料之外的问题,所以整体评估后,决定对已有的集群先做在线扩容,待假期结束后再做缩容。

目前集群的整体结构设计如下,其中P1,P2为中间件节点,P2暂时未投入使用,M1->M4是物理分片节点,每个物理分片包含4个逻辑分片,所以一张表被拆分为了16份,目前集群中的数据表为一张周期表,按日写入,即表类似于test_20210105

fE73Uf3.png!mobile

如果要实现在线扩容,达到的一个中间状态如下,即把已有的从库分片提上来作为物理分片,这样4个分片就可以快速扩展为8个分片。

yUnIVfV.png!mobile

如果要实践,整个步骤如下:

1)配置数据分片的双主复制,停掉数据分片节点的MHA服务,避免服务扩容期间出现意料之外的情况

2)在中间件节点P2的datahost从4节点配置改为8节点,相应的datanode也需要重新配置一套8分片的映射配置

3)清理T+1的周期表,在中间件节点P1清理,比如清理的是test_20210206

4)新建test_20210206的周期表,在中间件节点P2创建

5)备份P1节点的schema.xml配置,将P2的配置刷新到P1节点

6)重启中间件节点P1,配置重新生效

7)将M1->S1,.. M4->S4的双主配置清理

8)释放中间件节点P2

9)对2021026的数据表进行提前确认,并在零点进行再次确认

切换后的结构如下:

mEnUnuz.png!mobile

而缩容的场景相对会复杂一些,我们稍后分享。

各大平台都可以找到我

  • 微信公众号:杨建荣的学习笔记

  • Github:@jeanron100

  • CSDN:@jeanron100

  • 知乎:@jeanron100

  • 头条号:@ 杨建荣的学习笔记

  • 网易号:@杨建荣的数据库笔记

  • 大鱼号:@杨建荣的数据库笔记

  • 腾讯云+社区:@杨建荣的学习笔记

近期热文:

《大江大河2》最触动我的一段经典对话

MySQL 5.7和MySQL 8.0的4个细节差异

从生命周期的角度来规划数据库运维体系

使用图表分析2020北京积分落户的数据

MySQL 8.0给开发方向带来的一些困扰

关于故障复盘的一些总结

迁移到MySQL的业务架构演进实战

MySQL业务双活的初步设计方案

如何优化MySQL千万级大表,我写了6000字的解读

一道经典的MySQL面试题,答案出现三次反转

小白学MySQL要多久?我整理了10多个问题的答案

转载热文:

工行“去O”数据库选型与分布式架构设计

MySQL 实战笔记 第01期:MySQL 角色管理

MGR用哪个版本?5.7 vs 8.0

SQLcl这个可爱的小工具,来了解一下呀~

CPU占用又爆了?MySQL到底在干什么

这个MySQL优化原理剖析,比照X光还清楚

自己动手写SQL执行引擎

最受欢迎的微服务框架概览

程序员,保住你的钱袋子!

QQ群号: 763628645

QQ群二维码如下, 添加请注明:姓名+地区+职位,否则不予通过

qIZJNzj.jpg!mobile

在看 ,让更多人看到


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK