首先,报错信息一中,客户端可能因连接数超过CN最大连接数而报错。此问题可通过重启集群解决,同时需注意调整max_connections参数,以适应实际需求,避免过大的值占用过多内存。其次,报错信息二涉及到CN与其它实例间的连接数超过参数控制。为了解决此问题,重启集群是必要的步骤。鉴于DN数量通常远超CN,因此...
5个高并发导致数仓资源类报错分析
在集群运行过程中,高并发作业可能会引发资源类报错,严重时导致大量业务作业报错。以下将详细介绍几种常见报错及解决方案。
首先,报错信息一中,客户端可能因连接数超过CN最大连接数而报错。此问题可通过重启集群解决,同时需注意调整max_connections参数,以适应实际需求,避免过大的值占用过多内存。
其次,报错信息二涉及到CN与其它实例间的连接数超过参数控制。为了解决此问题,重启集群是必要的步骤。鉴于DN数量通常远超CN,因此在DN上设置较大的max_pool_size参数可以有效缓解此问题。
报错信息三中,客户端或日志显示数据流数超过TCP代理通信库或SCTP通信库支持的最大并发数据流数。解决方法是重启集群,并确保参数值大于并发数乘以每并发平均stream算子数再乘以(smp的平方)。
报错信息四表示数据库中处于"预备"状态的事务数目超过了上限。同样,重启集群是解决该问题的手段。参数值应设置为大于max_connections。
最后,报错信息五涉及数据库实例使用的线程数超过上限,这可能通过合理增大当前OS用户的max user processes来解决。在/etc/security/limits.conf配置文件中添加实际设置值,并确保实例参数生效后检查。
值得注意的是,在设置完实例后,需要重启每个节点的om_monitor进程,再重启数据库,使实例参数生效。同时,确保Soft Limit与Hard Limit均生效。对于关注华为云最新技术动态的用户,建议点击关注。2024-10-27