数仓在线运维:如何进行在线增删CN?
Posted 华为云开发者联盟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数仓在线运维:如何进行在线增删CN?相关的知识,希望对你有一定的参考价值。
摘要:集群运行过程中,根据集群的综合负载和业务接入情况进行分析:增加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?的主要内容,如果未能解决你的问题,请参考以下文章
技术解读:实时数仓Hologres如何支持超大规模部署与运维