温馨提示×

centos如何解决weblogic错误

小樊
41
2026-01-02 10:56:42
栏目: 智能运维

CentOS 上 WebLogic 常见错误与排查步骤

一、快速定位与通用排查

  • 定位域目录与日志:进入 $DOMAIN_HOME,优先查看 servers/AdminServer/logs 下的 server.lognohup.out 与 GC 日志,错误栈顶通常直接指向根因(如认证、端口、数据源、内存等)。
  • 清理残留锁文件(异常关机或进程残留时):删除 edit.lok、config.lok、AdminServer.lok、EmbeddedLDAP.lok,以及 servers/AdminServer/data/store/ 下的 WLS_DIAGNOSTICS.DAT、_WLS_ADMINSERVER.DAT**,再启动。
  • 端口与进程:用 netstat -tulpen | grep 7001ss -lntp | grep 7001 检查监听;用 fuser -v -n tcp 7001 查占用进程,必要时 kill -9 ;若端口被占用,可在控制台或 config.xml 调整
  • 防火墙与网络:开放管理端口(如 7001)或数据库端口(如 5432/3306):firewall-cmd --zone=public --add-port=7001/tcp --permanent && firewall-cmd --reload
  • 资源与权限:确认运行用户(如 weblogic)对 $DOMAIN_HOME 具备读写权限;检查系统资源(内存、句柄、进程数)是否受限。

二、高频错误与对应处理

症状 常见根因 解决要点
启动报 Authentication denied: Boot identity not valid boot.properties 中用户名/密码错误或变更后未更新 $DOMAIN_HOME/servers/AdminServer/security/boot.properties 中以明文写入 username=…、password=…,首次启动会自动加密;若仍失败,核对域目录是否正确、文件权限是否可读。
管理密码遗忘(WLS 7/8/10 等旧版本) 无法覆盖内置 LDAP 用户口令 $DOMAIN_HOME/security 执行:java -cp $WL_HOME/server/lib/weblogic.jar weblogic.security.utils.AdminAccount <新用户> <新口令> .(末尾空格+点);随后删除 myserver/ldap/DefaultAuthenticatormyrealmInit.initializedboot.properties,用新用户启动重建。
控制台登录后长时间卡顿或“转圈” SecureRandom 阻塞在 /dev/random setDomainEnv.shJAVA_OPTIONS 增加:-Djava.security.egd=file:/dev/./urandom,重启后通常立竿见影。
端口被占用(如 7001 其他进程占用或上次未正常关闭 fuser -v -n tcp 7001PID 并释放,或改为新端口:控制台 Environment → Servers → AdminServer → Listen Port,或编辑 config.xml
数据库连不通(JDBC) 库未起、连接串/账号错、网络不通、防火墙拦截、权限不足 确认数据库服务运行(如 systemctl status postgresql/mysqld)、核对 JDBC URL/用户名/口令、测试网络连通(如 telnet dbhost 5432)、开放防火墙端口、授予数据库用户权限。
启动报 Unable to obtain file lock 残留 .lok 或目录被占用 删除 edit.lok、config.lok、AdminServer.lok、EmbeddedLDAP.lokWLS_DIAGNOSTICS.DAT、_WLS_ADMINSERVER.DAT**;若某受管服务器 m1.lok 被占用,用 fuser -u m1.lokPIDkill -9
部署卡在 Initializing 或报组件缺失 缓存/临时文件异常、应用与数据源命名冲突 停止域,清理 $DOMAIN_HOME/servers/AdminServer/cachetmp,再启动;若应用名与数据源名相同,重命名数据源。
内存不足或 GC 异常 堆/元空间过小、内存泄漏 setDomainEnv.sh 调整 -Xms/-Xmx(如 -Xms1024m -Xmx2048m),Java 8+ 关注 Metaspace;分析 GC 日志与线程栈,排查泄漏与对象生命周期。

三、关键文件与路径速查

  • 启动身份:$DOMAIN_HOME/servers/AdminServer/security/boot.properties(明文保存,首次启动自动加密)。
  • 域配置:$DOMAIN_HOME/config/config.xml(如修改 )。
  • 锁与临时数据:edit.lok、config.lok、AdminServer.lok、EmbeddedLDAP.lok$DOMAIN_HOME/servers/AdminServer/data/store/(如 WLS_DIAGNOSTICS.DAT、_WLS_ADMINSERVER.DAT**);$DOMAIN_HOME/servers/AdminServer/tmp/
  • 日志:$DOMAIN_HOME/servers/AdminServer/logs/server.lognohup.out、GC 日志(若启用)。
  • JVM 参数:$DOMAIN_HOME/bin/setDomainEnv.sh(如 JAVA_OPTIONS 增加 -Djava.security.egd=file:/dev/./urandom 或调整 -Xms/-Xmx)。

四、最小可行修复示例

  • 修复启动认证失败
    1. 编辑 $DOMAIN_HOME/servers/AdminServer/security/boot.properties,写入明文账号密码;
    2. 执行启动脚本,首次启动会自动加密该文件;
    3. 若仍失败,核对 $DOMAIN_HOME 是否为目标域、文件权限是否足够。
  • 解决控制台卡顿
    1. 编辑 $DOMAIN_HOME/bin/setDomainEnv.sh,在 JAVA_OPTIONS 增加:-Djava.security.egd=file:/dev/./urandom
    2. 重启,观察控制台登录是否恢复正常。
  • 清理锁文件后重启
    1. 依次删除 edit.lok、config.lok、AdminServer.lok、EmbeddedLDAP.lok
    2. 删除 $DOMAIN_HOME/servers/AdminServer/data/store/ 下的 WLS_DIAGNOSTICS.DAT、_WLS_ADMINSERVER.DAT**;
    3. 重新启动域。

五、仍未解决时的建议

  • 提供以下关键信息以便进一步定位:WebLogic 版本、JDK 版本、操作系统与内核版本、异常发生时间点与频率、相关日志片段(server.log、nohup.out、GC 日志)、是否做过密码/端口/数据源变更、网络与防火墙策略。

0