标签:HERE 网络 打印 ready 测试 分析 字节 master cti
故障现象: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:调整数据库任务、网络链接超时时间,防止大量网络连接不能断开;
greenplum 集群故障(Sorry,too many clients already )排查:
标签:HERE 网络 打印 ready 测试 分析 字节 master cti
原文地址:http://blog.51cto.com/michaelkang/2286404