摘要:集群运行过程中,根据集群的综合负载和业务接入情况进行分析:增加CN可以适当降低CPU消耗,增大接入连接数,分散CN节点业务压力,根据实际情况来识别是否要增加CN,如果是提升集群容量和扩展比能力,建议进行扩容操作。

本文分享自华为云社区《【玩转PB级数仓GaussDB(DWS)】在线运维-在线增删CN》,作者:sevenjiang。

集群运行过程中,根据集群的综合负载和业务接入情况进行分析:增加CN可以适当降低CPU消耗,增大接入连接数,分散CN节点业务压力,根据实际情况来识别是否要增加CN,如果是提升集群容量和扩展比能力,建议进行扩容操作。

支持在线运维:

在符合增加CN、删除CN界面的准入条件下,找低峰期时间窗进行操作。

准入条件:

1.增加CN要求集群状态正常(集群状态为Normal,非均衡,低性能状态)

2.如果存在一个节点故障,只允许删除该节点的CN

3.如果存在两个以上的节点故障,不允许删除CN

4.增加或删除CN失败,最新版本通过界面重入即可。

5.最少保留两个CN,最大支持20个CN

界面操作步骤:

1.增加cn

找到集群,点击 “更多”

展开更多后,点击“管理cn节点”

展开“管理cn节点”

点击“点击增加cn节点”,选择需要增加cn的个数,“点击确认”即可

2.删除cn

同上,“点击删除cn节点”

勾选需要删除cn的节点前的复选框,“点击确认”即可

针对业务的影响:

pg_advisory_lock影响的操作:用户业务等待锁不报错(设置了enable_online_ddl_waitlock ), 影响用户DDL,DCL,truncate,vacuum,analyze,lock等操作(非DML操作)

影响时间:锁集群时间=增量build耗时,一般小于20分钟。

可能出现的情况:

1.增量build CN阶段之前会进行短暂的锁集群(pg_advisory_lock),如果有长事务中未提交的业务一直在执行,就会出现等锁的情况,重试3次每次1个小时,还是不能加上锁,增加CN操作会失败回滚退出。

备注:每个CN都有可能出现等锁的现象,如果要查询可以通过如下语句进行查询

select * from pg_locks where classid=65535 and classid=65535 and locktype='advisory' and mode = 'ShareLock' and granted='t';

2.增量build CN阶段,如果业务下发了DDL操作,会出现界面端没有返回成功的情况,类似于hang的现象,等待增量build完成,DDL提交成功,业务界面侧返回成功。

3.删除CN,如果使用到了LVS负载均衡,因为lvs存在重试机制,cn会出现短暂的连接失败。

4.业务低峰期和高峰期,分别进行增加CN的操作,全量build耗时可能存在超过1倍以上的耗时差异,感知上时间会增长,是因为业务并发过大时,会与cn的build阶段进行IO争抢,增加cn加锁阶段也会有所延迟。

5.增删CN阶段,不支持其他类集群运维操作,例如:升级、扩容、温备修复、快照等

点击关注,第一时间了解华为云新鲜技术~

数仓在线运维:如何进行在线增删CN?的更多相关文章

  1. MySQL数据库运维课程

    MySQL数据库运维课程 http://www.dataguru.cn/article-4834-1.html?union_site=comm100 课程大纲 第一课:机器选型.系统规划 第二课:安装 ...

  2. 数据库 OR 运维 ____bayaim

    最近一直在思考,想想未来的道路和自己努力的方向.马云曾说过现在的年轻人缺少“慢下来”,只有人慢下来才能更好思考,想好方法和目标才更靠近才成功.如果,一直不停的努力,在错误的道路越走越远,势必会浪费时间 ...

  3. MARK 一条关于Linux 运维方面个人向收藏网址

    吴钧泽博客 https://wujunze.com/archives.html Linux运维笔记 https://blog.linuxeye.cn/ Linux中文网 http://www.ppze ...

  4. 运维派 企业面试题4&5 创建10个 用户 ; ping探测主机是否在线

    Linux运维必会的实战编程笔试题(19题) 企业面试题4: 批量创建10个系统帐号oldboy01-oldboy10并设置密码(密码为随机8位字符串). #!/bin/bash # ;i<=; ...

  5. 【数仓运维实践】关于GaussDB(DWS)单SQL磁盘空间管控

    摘要:本文主要讲解数仓运维中遇到单SQL磁盘空间管控问题的解析和方案. 本文分享自华为云社区<GaussDB(DWS)运维 -- 单SQL磁盘空间管控>,作者: 譡里个檔. [问题描述] ...

  6. Python运维开发基础10-函数基础【转】

    一,函数的非固定参数 1.1 默认参数 在定义形参的时候,提前给形参赋一个固定的值. #代码演示: def test(x,y=2): #形参里有一个默认参数 print (x) print (y) t ...

  7. Python运维开发基础09-函数基础【转】

    上节作业回顾 #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 实现简单的shell命令sed的替换功能 import ...

  8. 数栈运维实例:Oracle数据库运维场景下,智能运维如何落地生根?

    从马车到汽车是为了提升运输效率,而随着时代的发展,如今我们又希望用自动驾驶把驾驶员从开车这项体力劳动中解放出来,增加运行效率,同时也可减少交通事故发生率,这也是企业对于智能运维的诉求. 从人工运维到自 ...

  9. 基于MaxCompute的数仓数据质量管理

    声明 本文中介绍的非功能性规范均为建议性规范,产品功能无强制,仅供指导. 参考文献 <大数据之路——阿里巴巴大数据实践>——阿里巴巴数据技术及产品部 著. 背景及目的 数据对一个企业来说已 ...

  10. 技术沙龙|京东云DevOps自动化运维技术实践

    自动化测试体系不完善.缺少自助式的持续交付平台.系统间耦合度高服务拆分难度大.成熟的DevOps工程师稀缺,缺少敏捷文化--这些都是DevOps 在落地过程中,或多或少会碰到的问题,DevOps发展任 ...

随机推荐

  1. Redis 6 学习笔记 1 —— NoSQL数据库介绍,Redis常用数据类型

    NoSQL数据库介绍(了解) 技术的分类1.解决功能性的问题:Java.Jsp.RDBMS.Tomcat.HTML.Linux.JDBC.SVN,2.进一步地,解决系统功能扩展性的问题:Struts. ...

  2. 使用 redis 实现分布式接口限流注解 RedisLimit

    前言 很多时候,由于种种不可描述的原因,我们需要针对单个接口实现接口限流,防止访问次数过于频繁.这里就用 redis+aop 实现一个限流接口注解 @RedisLimit 代码 点击查看RedisLi ...

  3. 在vue中如何使用echart

    1.在前面基础上搭建好vue环境,初始化webpack后,在终端使用npm i echarts -s 下载echart 2.下载完成后全局使用echart 在main.js文件中导入 import e ...

  4. Dart 初探 (一)

    前言 Dart 是 Google 为 Flutter 开发的一款用于网页编程的语言,其类似于Javascript,也是一种面向对象的语言,但其采用基于类的编程,语法风格接近C语言. 虽说它是开发用于网 ...

  5. 一个Blazor+WinForm+MAUI+PDA实现的条码比对系统

    条码比对系统是由单机版桌面软件和Android版的PDA扫码软件组成,桌面软件采用Blazor与WinForm进行混合开发,PDA扫码软件采用MAUI进行开发,这个项目都是基于.NET技术进行构建,这 ...

  6. 小闫s人格大爆发 | 坐椅子上?study:sleep

    hadoop视频 搭建环境 刷单词 看电影

  7. JeecgBoot 框架升级至 Spring Boot3 的实战步骤

    JeecgBoot 框架升级 Spring Boot 3.1.5 步骤 JEECG官方推出SpringBoot3分支: https://github.com/jeecgboot/jeecg-boot/ ...

  8. HttpClient报错Timeout waiting for connection from pool

    报错现象 线上项目使用HttpClient请求第三方的HTTP资源,并发量高的时候,日志框报Timeout waiting for connection from pool 客户端的现象是有时正常,有 ...

  9. [CF1641D] Two Arrays

    题目描述 Sam changed his school and on the first biology lesson he got a very interesting task about gen ...

  10. MybatisPlus属性自动填充

    阿里巴巴开发规范,对于每一张表都因该有id(主键),createTime(创建时间),updateTime(修改时间)这三个字段 主键ID我们可以使用自增,或者雪花算法 创建时间修改时间我们可以使用数 ...