centos上weblogic故障排查步骤
导读:CentOS 上 WebLogic 故障排查步骤 一 快速定位与最小闭环 明确症状:是起不来、控制台访问不了、应用报连接异常,还是数据库连不通。 查看控制台日志:到域目录下的 DOMAIN_HOME/servers/server_name...
CentOS 上 WebLogic 故障排查步骤
一 快速定位与最小闭环
- 明确症状:是起不来、控制台访问不了、应用报连接异常,还是数据库连不通。
- 查看控制台日志:到域目录下的 DOMAIN_HOME/servers/server_name/logs,优先看 server_name.log、AdminServer.out、nohup.out,抓取首次报错堆栈与时间点。
- 检查进程与端口:确认 Java 进程存在,监听端口(默认 7001/7002)处于 LISTEN;必要时用 netstat/ss -tulpen | grep 7001 与 ps -ef | grep weblogic 交叉核对。
- 本机连通性自检:在服务器上执行 curl -I http://localhost:7001/console;若仅本机可访问,转向网络与防火墙排查。
- 最小化复现:临时关闭防火墙与 SELinux 验证是否为策略阻断,确认后再按最小权限恢复策略。
- 资源与 GC:用 top/vmstat/iostat 观察 CPU/内存/磁盘 IO,必要时配合 jstat -gc 检查 GC 是否异常导致长时间停顿。
以上步骤覆盖日志、进程、端口、连通性与资源等首要线索,可快速缩小问题范围。
二 常见故障与处理清单
| 症状 | 关键线索 | 快速处置 |
|---|---|---|
| 启动即报 BEA-000386,伴随 “Could not obtain the localhost address” | server.log 出现 UnknownHostException/AssertionError | 修正 /etc/hosts,确保主机名能解析到本机 IP,例如: |
| 127.0.0.1 localhost | ||
| 192.168.1.98 Weblogic;必要时检查 /etc/hostname 与网卡配置 | ||
| 控制台端口 7001 访问不了 | 端口未监听或被占用 | 用 netstat/ss 查占用并释放;或调整 config.xml 的 ListenPort;确认 firewall-cmd 已放行 7001 |
| 管理节点启动报 BEA-090402 “Boot identity not valid” | boot.properties 中用户名/密码与域不一致 | 更新 boot.properties(首次启动会加密保存),或交互式输入正确凭据 |
| 受管服务器无法注册到 AdminServer(如 BEA-141196) | 域间安全/序列化文件不一致 | 将 SerializedSystemIni.dat 从 AdminServer 域的 security/ 目录同步到受管服务器对应目录后重启 |
| JDBC 连接池耗尽或报 “No resources currently available” | server.log 出现 ResourceLimitException | 提高 Maximum Capacity,并观察 Waiting For Connection High Count;排查慢 SQL/连接泄漏 |
| 连接被强制回收或应用报空指针 | 出现 “Forcibly releasing inactive resource … back into the pool” | 适当提高 Inactive Connection Timeout;同时确认 JTA Timeout Seconds 小于连接超时 |
| 数据库连接超时/间歇性失败 | 数据库 alert 出现 ORA-3136,或客户端日志出现 “Connection reset by peer” | 在数据库侧 sqlnet.ora 增加/调整: |
| SQLNET.EXPIRE_TIME=20 | ||
| SQLNET.INBOUND_CONNECT_TIMEOUT=300 | ||
| SQLNET.OUTBOUND_CONNECT_TIMEOUT=300 | ||
| 并排查底层 IO/负载 瓶颈 | ||
| Node Manager 启动失败 “Invalid state file format” | nodemanager.log 报状态文件格式错误 | 删除 Domain_HOME/servers/servername/data/nodemanager/servername.state 后重启 Node Manager |
| 以上条目覆盖了启动、网络、控制台、JDBC 与 Node Manager 的高频故障与处置要点。 |
三 网络与数据库连通性专项
- 本机与端口可达:在服务器上 curl -I http://localhost:7001/console;从外部客户端 curl/telnet 目标 IP 的 7001/443 验证端到端连通。
- 路由与丢包:用 traceroute/tracert 定位跨网段卡点;必要时协同网络侧核查 ACL/安全组。
- 防火墙与 SELinux:
- firewalld:放行管理口与应用端口,例如
firewall-cmd --zone=public --add-port=7001/tcp --permanent & & firewall-cmd --reload - 如需使用 Node Manager,放行 5556;数据库侧同理放行相应端口(如 5432/3306)。
- firewalld:放行管理口与应用端口,例如
- DNS 解析:用 nslookup/dig 确认域名解析到正确 IP,避免应用通过错误地址访问。
- 数据库连通:
- 在 WebLogic 所在主机 telnet DB_HOST DB_PORT 验证到库端口直连;
- 核对 JDBC URL、用户名、密码、驱动版本;
- 确认数据库服务运行、用户权限正确,并且中间网络与防火墙策略允许双向通信。
以上步骤可系统化验证从 WebLogic 到客户端与数据库的全链路网络与访问控制。
四 日志与诊断数据收集
- WebLogic 日志:优先收集 DOMAIN_HOME/servers/server_name/logs 下的 server_name.log、AdminServer.out、nohup.out,关注首次报错的时间点与异常堆栈。
- 系统日志:收集 journalctl -xe、/var/log/messages、/var/log/secure 中与网络、权限、启动相关的条目。
- 监听与端口:保留 netstat/ss -tulpen | grep 7001 的输出,便于确认监听地址与进程映射。
- JVM 诊断:在问题持续期间抓取 jstack(线程)、jmap(堆)、必要时 jstat -gc(GC 统计),用于分析线程阻塞、死锁与内存压力。
- JDBC 与事务:在控制台开启 JDBC Logging,记录连接获取/释放与 SQL 执行;结合 Inactive Connection Timeout 与 JTA Timeout Seconds 的配置与告警日志,定位连接与事务超时根因。
上述日志与诊断信息能显著提升定位效率,建议按“时间线+关键错误”组织归档。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos上weblogic故障排查步骤
本文地址: https://pptw.com/jishu/770664.html
