- 首页 >
- 问答 >
-
智能运维 >
- WebLogic在Ubuntu上的故障排查步骤是什么
WebLogic在Ubuntu上的故障排查步骤是什么
小樊
32
2025-12-06 19:24:49
WebLogic在Ubuntu上的故障排查步骤
一 快速定位与日志分析
- 确认域目录:执行 echo $DOMAIN_HOME,进入域根目录。
- 查看关键日志:在 $DOMAIN_HOME/logs 下优先查看 server.log(服务器日志)与 access.log(访问日志);使用命令实时跟踪与检索:
- tail -f $DOMAIN_HOME/logs/server.log
- grep -i “error|exception” $DOMAIN_HOME/logs/server.log
- 若控制台无法访问,先确认监听端口(常见为 7001/7002)并在 server.log 中检索启动失败原因。
二 端口与网络连通性检查
- 检查端口占用与进程:
- ss -ltnp | grep -E ‘7001|7002|5556’
- lsof -iTCP:7001 -sTCP:LISTEN
- 处理端口冲突:结束占用进程或修改 config.xml 中的 ListenPort,然后重启。
- 防火墙放行(UFW 示例):
- sudo ufw allow 7001,7002,5556/tcp
- sudo ufw reload
- 节点管理器端口:若使用 Node Manager,默认 5556,确保该端口未被占用并放行。
三 资源与JVM问题排查
- 资源监控:
- top/htop(CPU/内存)、free -h(内存)、iostat -x 1(磁盘 I/O)、vmstat 1(系统整体)
- 启动缓慢或卡住:
- 检查系统资源是否紧张(CPU、内存、磁盘 I/O),必要时释放资源或调整 WebLogic 启动参数(如堆大小)。
- 优化随机数源以加速启动:在 $JAVA_HOME/jre/lib/security/java.security 中将
securerandom.source=file:/dev/./urandom
- Java 线程与内存分析(需 jstack/jmap 在 $JAVA_HOME/bin):
- jps 找到 AdminServer 的 PID
- jstack > /tmp/jstack.log(线程分析)
- jmap -heap (堆内存概览)
四 常见故障与修复清单
- 配置文件错误:核对 config.xml、启动脚本(如 startWebLogic.sh)中的路径、参数与监听端口;修正后重启。
- 端口冲突:见“端口与网络”步骤;必要时更换端口或终止占用进程。
- 权限问题:确保 $DOMAIN_HOME 及子目录属主/属组与启动用户一致,避免因权限不足导致启动失败或异常。
- 启动卡住:优先排查资源不足与配置错误;若为随机数生成导致,按上节优化。
- 控制台无法访问:确认监听端口、进程存活与防火墙策略;查看 server.log 获取具体错误堆栈。
- 节点管理器启动失败(Invalid state file format):删除
$DOMAIN_HOME/servers//data/nodemanager/.state
后重启 Node Manager;必要时检查 nodemanager.properties(如 ListenPort=5556)。
- 配置文件锁冲突(Unable to obtain lock on .lok):删除对应 .lok 文件,并清理残留进程后再启动。
五 一键排查命令清单
- 查看与跟踪日志:
- tail -f $DOMAIN_HOME/logs/server.log
- grep -i “error|exception” $DOMAIN_HOME/logs/server.log
- 端口与进程:
- ss -ltnp | grep -E ‘7001|7002|5556’
- lsof -iTCP:7001 -sTCP:LISTEN
- ps -ef | grep weblogic
- 资源监控:
- top/htop
- free -h
- iostat -x 1
- vmstat 1
- Java 诊断:
- jps
- jstack > /tmp/jstack.log
- jmap -heap
- 防火墙(UFW):
- sudo ufw allow 7001,7002,5556/tcp
- sudo ufw reload