数仓在线运维:如何进行在线增删 CN
本文分享自华为云社区《【玩转PB级数仓GaussDB(DWS)】在线运维-在线增删CN》,作者:sevenjiang。
集群运行过程中,根据集群的综合负载和业务接入情况进行分析:增加 CN 可以适当降低 CPU 消耗,增大接入连接数,分散 CN 节点业务压力,根据实际情况来识别是否要增加 CN,如果是提升集群容量和扩展比能力,建议进行扩容操作。
支持在线运维:
在符合增加 CN、删除 CN 界面的准入条件下,找低峰期时间窗进行操作。
准入条件:
增加 CN 要求集群状态正常(集群状态为 Normal,非均衡,低性能状态)
如果存在一个节点故障,只允许删除该节点的 CN
如果存在两个以上的节点故障,不允许删除 CN
增加或删除 CN 失败,最新版本通过界面重入即可。
最少保留两个 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 阶段,不支持其他类集群运维操作,例如:升级、扩容、温备修复、快照等
【一起来玩转 PB 级数仓 GaussDB(DWS),分享你的技术经验与体验心得,赢开发者大礼包!】第 19 期有奖征文火热进行中!
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/8562f3e248088b06f09830dfd】。文章转载请联系作者。
评论