温馨提示×

如何在centos上解决weblogic启动失败

小樊
44
2025-12-25 15:29:39
栏目: 智能运维

CentOS 上 WebLogic 启动失败的定位与修复步骤

一、快速定位

  • 查看启动输出与日志:在域目录执行启动后,使用命令实时查看输出与日志,优先关注首次报错位置与堆栈。示例:
    • nohup ./startWebLogic.sh &
    • tail -f nohup.out
    • tail -f logs/startWebLogic.log
    • 若使用 systemd 管理,执行:journalctl -u wls_admin -f
  • 常见线索关键词:
    • BEA-000386 / java.lang.AssertionError: Could not obtain the localhost address(主机名解析问题)
    • BEA-090402 / Authentication denied: Boot identity not valid(boot.properties 凭据错误)
    • Address already in use(端口占用)
    • Error from fcntl() for file locking, Resource temporarily unavailable, errno=11(NFS 文件锁问题)
    • 启动极慢或长时间停在 Security/Coherence 初始化阶段(诊断日志或 DNS/hosts 问题)

二、常见原因与修复对照表

症状与关键词 可能原因 修复要点
BEA-000386 / Could not obtain the localhost address /etc/hosts 未正确映射本机 IP 与主机名 在 /etc/hosts 增加“本机IP 主机名”,如:192.168.101.2 weblogic1;确保 hostname 命令返回值与映射一致
BEA-090402 / Boot identity not valid boot.properties 中用户名或密码错误(修改过域密码后常见) 在域目录创建/编辑 security/boot.properties,明文写入 username/password,首次启动会自动加密
Address already in use 7001/7002 等端口被占用 用 ss -lntp
启动极慢、长时间停在 Security/Coherence WLDF 诊断日志过大、DNS/hosts 解析慢、随机数熵不足 清理域目录下的 diagnostics 历史文件;检查 /etc/resolv.conf 与 /etc/hosts;JVM 增加 -Djava.security.egd=file:/dev/./urandom
受管服务器无法注册到管理服务器(BEA-141196 等) 缺少域安全标识或安全文件不一致 将管理域的 SerializedSystemIni.dat 复制到受管服务器相同 security 目录后重启
管理密码遗忘或内置 LDAP 异常 无法登录管理控制台 使用 weblogic.security.utils.AdminAccount 工具重建管理员用户,并清理被管服务器 ldap 目录后启动
NFS 环境下重启失败、fcntl errno=11 NFSv3 锁租约/锁状态残留 重启 rpc-statd;必要时清理远端锁或迁移至非 NFS 存储;参考 Oracle 对 NFS 锁与重启行为的说明

三、关键操作示例

  • 修复主机名解析
    • 查看与修正:
      • hostname
      • cat /etc/hosts
    • 推荐条目示例:
      • 192.168.101.2 weblogic1
  • 修复 boot.properties 凭据
    • 文件路径:${DOMAIN_HOME}/security/boot.properties
    • 内容(首次明文,启动后自动加密):
      • username=weblogic
      • password=YourStrongP@ssw0rd
  • 清理 WLDF 诊断日志以恢复极慢启动
    • 停止服务后备份并清理:
      • mv ${DOMAIN_HOME}/servers/AdminServer/data/diagnostics ${DOMAIN_HOME}/servers/AdminServer/data/diagnostics.bak_$(date +%F)
      • 重新启动
  • 处理 NFS 锁问题(仅当域目录位于 NFS)
    • 重启锁服务:
      • sudo systemctl restart rpc-statd
    • 验证锁:
      • python3 -c ‘import fcntl; f=open(“/your/domain/path/servers/AdminServer/tmp/locktest”, “r”); fcntl.flock(f, fcntl.LOCK_EX | fcntl.LOCK_NB)’
    • 如仍失败,清理远端残留锁或迁移域目录至本地磁盘

四、预防与优化建议

  • 固化网络配置:在 /etc/hosts 中固定 本机IP-主机名 映射,避免 DHCP 变更导致解析异常。
  • 规范凭据管理:统一使用 boot.properties,变更域密码后同步更新该文件并首次重启完成加密。
  • 端口与资源规划:启动前检查 7001/7002 等端口占用,必要时调整;为 WebLogic 运行账号配置合适的 ulimit(/etc/security/limits.conf)。
  • 存储与高可用:避免将域目录放在 NFSv3 上承载锁敏感数据;若必须使用,确保 rpc-statd 健康并做好锁故障应急预案。
  • JVM 与启动参数:为 12c/14c 选择匹配的 JDK 8+;在 headless 环境增加 -Djava.awt.headless=true;必要时加入 -Djava.security.egd=file:/dev/./urandom 改善熵源导致的延迟。

0