当前位置:网站首页>GBase 8a MPP集群扩容实战
GBase 8a MPP集群扩容实战
2022-07-27 09:44:00 【51CTO】
作者介绍
汪浩,新炬网络核心业务系统DBA,主要涉及Oracle、Greenplum、Gbase等数据库管理、IT运维管理工作,对数据库多业务场景性能优化有着丰富的实践经验,专注于数据库性能优化、IT运维自动化工作。
一、背景
由于业务模型的发展及数据周期保留的需要,最近某省运营商计划将对现有GBase 8a集群进行扩容,从现有的3coor+21data节点扩到3coor+61data节点。
当前GBase 8a集群版本是GBase8a_MPP_Cluster-NoLicense-8.6.2_build33-R12-redhat7.3-x86_64。新增的40个节点只作为数据节点。本人有幸参与其中,负责具体的扩容及后续数据重分布操作。
二、环境信息
1、硬件配置信息
CPU:
- CPU数:4*8C (4个物理cpu,每个物理cpu有8个逻辑cpu)
内存:
- MemTotal: 512GB
2、软件版本
GBase 8a集群版本 GBase8a_MPP_Cluster-NoLicense-8.6.2_build33-R12-redhat7.3-x86_64
3、扩容机器规划
为保证应用接入接口ip地址群不变,扩容后,仍保留3个coordinator(管理节点)节点不变,扩容40节点均为data(数据)节点。规划主机名为gbase25-gbase64。
三、实施前准备
1、扩容实施的网络环境需求
现场的网络环境是原集群的24台服务器和新扩容40台服务器均为内网万兆,外网千兆,双网卡绑定,网络测试结果符合扩容要求。
2、扩容实施的存储空间需求
为保证扩容实施的绝对安全,需要每台服务器具有足够的空间用来存放重分布的临时数据。集群已有节点每节点opt目录有空闲空间13TB,根目录空闲空间439GB;新增节点opt有空闲空间22TB,根目录空闲空间149GB,符合扩容要求。
检查发现有两台服务器(IP地址为190、193)磁盘写速度明显异常,主机人员确定是RAID卡电池故障,修复后磁盘读写速度正常。

3、扩容实施的服务器需求
统一MPP集群节点的操作系统版本。扩容前已将新扩容节点操作系统统一重新集成,与集群已有节点操作系统版本一致,为rhel7.3,符合扩容要求。
四、扩容实施
1、添加新增节点root及gbase用户互信
2、配置C3工具(该工具用于GBASE各节点同时执行执行命令)
3、使用C3工具配置扩容节点环境
4、设置集群readonly后备份集群信息
5、执行扩容
6、扩容完成集群可用性基本验证
五、数据重分布
所有的MPP集群由于数据分布在很多数据节点,所以在扩容操作完成后,为了避免数据倾斜,需要将所有的业务表数据重分布到所有数据节点(包括扩容节点)。
六、效率分析
在扩容中各步骤的分别耗时情况:
- 扩容:24日18:30 ~ 24日20:20,耗时约2小时;
- 重分布:一共8802张表,231T的数据量,24日20.25 ~ 26日10.36,耗时约38小时,原计划91个小时(以工程经验35MB/s的速度计算)。
注:因为有一张分布极不平均的表,全部数据落在一个节点,70个字段,75亿记录,13压缩,单个分片350GB。仅这一张表重分布就用了12小时。除掉这张一表以外,8801张表实际用时27小时(24日20:25~25日23:25),达到118MB/s,重分布速度远远超出预期。
七、经验总结
1、MPP集群一般在做数据重分布操作的时候,必须要考虑到业务调度的执行时间,因为重分布操作可能会造成业务表锁表从而影响业务调度的正常执行,本次扩容操作前调研数据同步时间为2点到下午15点,调度执行周期较长,采用在调度执行前将所有调度需要的业务表,提高重分布优先级,提前完成重分布,调度执行期间降低重分布的并发度,从而做到能够做到24小时重分布,且不影响生产调度。如果日调度时间较短或者表过多无法筛选那些表为调度执行需要表的情况下,建议错时重分布数据。
2、新加节点除了考虑和本集群的网络打通外,需要考虑到与数据加载机,与hadoop集群(如果配置了hdp加载数据的话)的网络连通。
3、扩容前最好检查下表的倾斜情况,倾斜较大的表建议调整分布键,以防止本次扩容类似“因为有一张分布极不平均的表,全部数据落在一个节点,70个字段,75亿记录,13压缩,单个分片350GB。仅这一张表重分布就用了12小时”的情况。
从过去40年至今,数据库的形态基本经历了传统商业数据库、开源数据库到云原生数据库的演进过程。云时代下数据库将如何革新与创变?金融行业核心数据库迁移与建设如何安全平稳展开?来Gdevops全球敏捷运维峰会北京站寻找答案:
- 《All in Cloud 时代,下一代云原生数据库技术与趋势》阿里巴巴集团副总裁/达摩院首席数据库科学家 李飞飞(飞刀)
- 《AI和云原生时代的数据库进化之路》腾讯数据库产品中心总经理 林晓斌(丁奇)
- 《ICBC的MySQL探索之路》工商银行软件开发中心 魏亚东
- 《金融行业MySQL高可用实践》爱可生技术总监 明溪源
- 《民生银行在SQL审核方面的探索和实践》民生银行 资深数据库专家 李宁宁
- 《OceanBase分布式数据库在西安银行的落地和实践》蚂蚁金服P9资深专家/OceanBase核心负责人 蒋志勇
让我们9月11日在北京共同眺望数据库发展变革更长远的未来!

边栏推荐
- 七月集训(第17天) —— 广度优先搜索
- July training (day 06) - sliding window
- July training (day 21) - heap (priority queue)
- S switch stacking scheme configuration guide
- Eureka 延迟注册的一个坑
- 走向人生巅峰....
- 刷题《剑指Offer》day03
- Go Basics - arrays and slices
- Sentinel ten thousand word tutorial | book delivery at the end of the text
- July training (day 07) - hash table
猜你喜欢

吃透Chisel语言.25.Chisel进阶之输入信号处理(一)——异步输入与去抖动

食品安全 | 还在吃酵米面吗?当心这些食物有毒!
![Flash memory usage and stm32subemx installation tutorial [day 3]](/img/ff/43ef2d0e1bdfd24fbc5c99e76455f1.png)
Flash memory usage and stm32subemx installation tutorial [day 3]

Understand chisel language. 24. Chisel sequential circuit (IV) -- detailed explanation of chisel memory

Exercises --- quick arrangement, merging, floating point number dichotomy

省应急管理厅:广州可争取推广幼儿应急安全宣教经验

Understand chisel language. 26. Chisel advanced input signal processing (II) -- majority voter filtering, function abstraction and asynchronous reset

ESP8266-Arduino编程实例-ADC

如果mysql磁盘满了,会发生什么?还真被我遇到了!

What happens if the MySQL disk is full? I really met you!
随机推荐
Voice live broadcast system - Principles to be followed in developing push notifications
七月集训(第11天) —— 矩阵
面试京东 T5,被按在地上摩擦,鬼知道我经历了什么?
MOS drive in motor controller
安装了HAL库如何恢复原来的版本
聊聊索引失效的10种场景,太坑了
What happens if the MySQL disk is full? I really met you!
July training (day 06) - sliding window
Nacos做注册中心使用
[cloud native] how can I compete with this database?
七月集训(第17天) —— 广度优先搜索
At the end of the year, I'll teach you how to get high performance!
How to restore the original version after installing Hal Library
七月集训(第04天) —— 贪心
Sentinel ten thousand word tutorial | book delivery at the end of the text
Meeting seating function of conference OA project & Implementation of meeting submission for approval
Understand chisel language. 27. Chisel advanced finite state machine (I) -- basic finite state machine (Moore machine)
About getter/setter methods
Proposed relocation! 211 the new campus of China University of Petroleum (East China) is officially opened!
July training (day 16) - queue