Flink Jar作业访问DWS启动异常,提示客户端连接数太多错误
问题描述
提交Flink Jar作业访问DWS数据仓库服务时,提示启动失败,作业日志报如下错误信息。
FATAL: Already too many clients, active/non-active/reserved: 5/508/3
原因分析
当前访问的DWS数据库连接已经超过了最大连接数。错误信息中,non-active的个数表示空闲连接数,例如,non-active为508,说明当前有大量的空闲连接。
解决方案
出现该问题时建议通过以下操作步骤解决。
- 登录DWS命令执行窗口,执行以下SQL命令,临时将所有non-active的连接释放掉。
SELECT PG_TERMINATE_BACKEND(pid) from pg_stat_activity WHERE state='idle';
- 检查应用程序是否未主动释放连接,导致连接残留。建议优化代码,合理释放连接。
- 在GaussDB(DWS) 控制台设置会话闲置超时时长session_timeout,在闲置会话超过所设定的时间后服务端将主动关闭连接。
session_timeout默认值为600秒,设置为0表示关闭超时限制,一般不建议设置为0。
session_timeout设置方法如下:
- 登录GaussDB(DWS) 管理控制台。
- 在左侧导航栏中,单击“集群管理”。
- 在集群列表中找到所需要的集群,单击集群名称,进入集群“基本信息”页面。
- 单击“参数修改”页签,修改参数“session_timeout”,然后单击“保存”。
- 在“修改预览”窗口,确认修改无误后,单击“保存”。
更多问题处理步骤,请参考DWS数据库连接问题。