Troubleshooting-ERROR8837 Internal error occurred

2022-07-06 00:00:00 命令 报错 节点 服务 打开

现象

某环境突然发现连接不上数据库,使用JDBC或trafci连接数据库报错如下:

*** ERROR[8837] Internal error occurred. User: XXX

分析

报错ERROR[8837] Internal error occurred.一般是数据库与LDAP连接认证出现问题。
所以遇到此报错后,点我们可以使用ldapcheck命令检查是否能正常从ldap中查询到数据库用户,命令为:

ldapcheck --username=trafodion

如果以上命令返回result 2,则表示trafodion访问ldap异常,

Lookup request: externalName trafodion, configNmae 'not available' (ConfigNumber -2), result 2(Unexpected error returned from LDAP)

遇到以上报错后,下一步我们就是要去检查LDAP服务是否正常。
首先,我们需要找到LDAP服务在哪台机器。
这可以通过cdc目录下的.traf_authentication_config文件来找到,使用trafodion用户执行以下命令来查看:

cdc
cat .traf_authentication_config

.traf_authentication_config配置文件中的LDAPHostName参数的值即数据库使用的LDAP节点。
找到LDAP所在的节点后,我们便可以登录到对应节点检查LDAP服务是否正常。

service slapd status

如果发现slapd服务未打开,我们可以使用以下命令将ldap服务打开,

service slapd start

当然,还有一种是ldap服务是启动的,但异常的原因是打开文件数过多,针对这个场景,可以参考Linux OpenLAP 修改max open files 来修改ldap的打开文件数。

相关文章