温馨提示×

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

0