赞
踩
- 1:所有业务调度任务执行失败;
- 2:手动测试无法连接数据库;
- 3:并没有收到集群的异常告警;
- 1:首先登陆 gpcc 查看集群状态;
- 发现所有greenplum 节点及服务都正常,但是屏幕打印报错信息 :Sorry,too many clients already (alert)
-
- 2:在master节点通过gpstate -s和查看/usr/local/gpdata/gpmaster/gpseg-1/pg_log/gpdbxxxxxx.csv日志,都可以看到以下报错信息
-
- "ERROR","58M01","failed to acquire resources on one or more segments","FATAL: sorry, too many clients already.
- Performance Monitor - failed to connect to gpperfmon database: FATAL: sorry, too many clients already.
- gpstate -b =》 显示简要状态
-
- gpstate -f =》 显示备用主机详细信息
-
- gpstate -m =》 显示镜像实例同步状态
-
- gpstate -Q =》 快速检查主机状态
-
- 确认集群节点无异常!
此时基本确定集群连接数过多导致,准备使用杀掉连接解决问题,但是数据库集群已经无法连接,使用gpconfig 命令修改;
- 主要修改参数如下:
-
- max_connections :最大连接数,Segment建议设置成Master的5-10倍。
-
- 查看现有配置值:
- gpconfig -s max_connections
-
- GUC : max_connections
- Master value: 250
- Segment value: 750
-
- #### 修改配置
- gpconfig -c max_connections -v 2000 -m 500
- max_prepared_transactions
- 这个参数只有在启动数据库时,才能被设置。它决定能够同时处于prepared状态的事务的最大数目(参考PREPARE TRANSACTION命令)。如果它的值被设为0。则将数据库将关闭prepared事务的特性。它的值通常应该和max_connections的值一样大。每个事务消耗600字节(b)共享内存。
-
- 查看现有配置值:
- gpconfig -s max_prepared_transactions
- Values on all segments are consistent
- GUC : max_prepared_transactions
- Master value: 250
- Segment value: 250
- 修改配置
- gpconfig -c max_prepared_transactions -v 500
- 关闭数据库 :gpstop -M fast -a
- 快速启动: gpstart -a
- gpconfig -s max_connections
- gpconfig -s max_prepared_transactions
数据启动后,已经可以正常使用!此时涉及的数据库没有涉及在线业务,所有直接重启了。
- # su - gpadmin
- psql -d postgres
-
- 查看所有的连接;
- postgres=# SELECT * FROM pg_stat_activity;
-
- 执行以下命令查看当前的总连接数:
-
- psql -d postgres -c "select count(*) from pg_stat_activity"
-
- 查看第2步检查到的报错库的连接数:
-
- psql -d postgres -c "select count(*) from pg_stat_activity where datname = 'pt_roi'"
-
- 通过以下命令来断开报错的库的连接,释放资源:
-
- SELECT pg_terminate_backend(pg_stat_activity.procpid) FROM pg_stat_activity WHERE pg_stat_activity.datname = ' $(DATABASES)' AND procpid <> pg_backend_pid();
- 1:新业务服务没有经过测试就上线,产生大量的异常链接,导致数据库链接被沾满;
- 2:数据库连接没有做监控告警,导致连接被占满后才知道,需要添加连接数监控告警,大于正常数出发告警,提前处理;
- 3:调整数据库任务、网络链接超时时间,防止大量网络连接不能断开;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。