凌峰创科服务平台

WebLogic启动受管服务器失败怎么办?

启动受管服务器的几种方式

使用 WebLogic 控制台 (WebLogic Console) - 推荐(图形化操作)

这是最简单、最直观的方式,适合日常的手动启动和状态检查。

WebLogic启动受管服务器失败怎么办?-图1
(图片来源网络,侵删)

操作步骤:

  1. 启动 Admin Server

    • 确保你的 Admin Server 已经成功启动,如果没启动,先启动它。
    • 启动后,在浏览器中访问 Admin Server 的地址,格式为:http://<Admin_Server_Host>:<Admin_Server_Port>
    • http://localhost:7001
    • 使用你配置的管理员用户名和密码登录。
  2. 导航到服务器列表

    • 登录后,在左侧的域结构树中,展开 Environment -> Servers
    • 你会看到 AdminServer 和你配置的所有 Managed ServerManagedServer1, MS-App 等)。
  3. 启动目标服务器

    WebLogic启动受管服务器失败怎么办?-图2
    (图片来源网络,侵删)
    • 在服务器列表中,选中你想要启动的受管服务器(ManagedServer1)。
    • 在右侧的 Control 标签页中,点击 Start 按钮。
    • 系统会弹出一个确认窗口,再次点击 Yes 确认启动。
  4. 查看启动状态

    • 页面会自动刷新,你可以看到服务器的 StateADMINFAILED 变为 RUNNING
    • 你也可以点击 Monitoring 标签页,查看更详细的状态信息,如 Listen AddressListen PortHealth 等。

优点

  • 图形化界面,操作简单,无需记忆命令。
  • 可以直接查看服务器状态、日志和配置。

缺点

  • 需要先启动 Admin Server。
  • 依赖于 WebLogic Console 的可用性。

使用 startManagedWebLogic.sh (Linux/Unix) 或 startManagedWebLogic.cmd (Windows) - 推荐(命令行脚本)

这是命令行环境下最常用和最可靠的方式,通常用于自动化脚本或远程操作。

WebLogic启动受管服务器失败怎么办?-图3
(图片来源网络,侵删)

操作步骤:

  1. 定位脚本文件

    • 该脚本通常位于 WebLogic 安装目录的 <DOMAIN_HOME>/bin/ 目录下。
    • <DOMAIN_HOME> 是你域的根目录,/opt/oracle/user_projects/domains/my_domain
  2. 准备启动参数

    • 你需要为脚本提供几个关键参数,最简单的方式是创建一个属性文件。

    创建 ManagedServer.properties 文件: 在 <DOMAIN_HOME>/bin/ 目录下创建一个名为 ManagedServer.properties 的文件,内容如下:

    # 设置 Admin Server 的地址和端口
    ADMIN_URL=http://localhost:7001
    # 设置要启动的受管服务器名称
    MANAGED_SERVER_NAME=ManagedServer1
    # 设置受管服务器的启动参数,JVM 内存
    JAVA_OPTIONS=-Xms256m -Xmx512m
    # 可选:指定 WebLogic 用户名和密码,避免交互式输入
    # 生产环境建议使用加密的凭据
    # USER=weblogic
    # PASSWORD=your_password
  3. 执行启动命令

    • Linux/Unix:

      cd /opt/oracle/user_projects/domains/my_domain/bin
      ./startManagedWebLogic.sh ManagedServer1 http://localhost:7001

      或者使用属性文件:

      ./startManagedWebLogic.sh ManagedServer1

      (脚本会自动寻找 ManagedServer.properties 文件)

    • Windows:

      cd C:\oracle\user_projects\domains\my_domain\bin
      startManagedWebLogic.cmd ManagedServer1 http://localhost:7001

      或者使用属性文件:

      startManagedWebLogic.cmd ManagedServer1
  4. 查看启动日志

    • 启动过程会输出到控制台,同时日志也会写入到 <DOMAIN_HOME>/servers/<ManagedServerName>/logs/<ManagedServerName>.log 文件中。
    • 持续观察日志,直到看到 <Server state changed to RUNNING> 或类似信息,表示启动成功。

优点

  • 灵活,可以通过命令行参数或属性文件配置。
  • 适合编写自动化脚本。
  • 可以指定特定的 JVM 参数。

缺点

  • 需要先启动 Admin Server。
  • 需要记住或查找正确的命令和参数。

使用 Node Manager (Node Manager) - 推荐(生产环境首选)

Node Manager 是一个独立的 Java 进程,用于远程启动、停止、重启和监控 WebLogic 服务器实例,它是实现自动化运维和高可用性的关键组件。

先决条件:

  1. Node Manager 必须正在运行
  2. Admin Server 必须正在运行
  3. Node Manager 必须能够连接到 Admin Server(在 WebLogic Console 中配置)。

操作步骤:

  1. 启动 Node Manager

    • Node Manager 还没启动,需要在 Admin Server 所在主机或 Managed Server 所在主机上启动它。
    • <DOMAIN_HOME>/bin/ 目录下执行:
      • Linux/Unix: ./startNodeManager.sh
      • Windows: startNodeManager.cmd
    • 确认 Node Manager 进程已启动,通常监听一个非 WebLogic 的端口(如 5556)。
  2. 通过 WebLogic Console 启动

    • 登录 WebLogic Console。
    • 导航到 Environment -> Servers -> <YourManagedServer>
    • 进入 Control 标签页。
    • 你会看到 Start 按钮旁边有一个 Node Manager 的选项,确保它被选中。
    • 点击 Start 按钮,Web Console 会将启动命令下发给 Node Manager,由 Node Manager 在目标服务器上启动 Managed Server。
  3. 通过命令行 WLST 启动

    • 你也可以使用 WebLogic Scripting Tool (WLST) 来通过 Node Manager 启动。
    • 连接到 Admin Server:
      connect('weblogic', 'password', 't3://localhost:7001')
    • 调用 start 命令,并指定 Node Manager
      start('ManagedServer1', 'NodeManager')
    • 断开连接:
      disconnect()
      exit()

优点

  • 真正的远程启动:可以在任何一台安装了 WLST 或 Console 的机器上远程启动服务器,无需登录到服务器主机。
  • 高可用性:如果服务器进程意外终止,Node Manager 可以自动重启它(需配置 Auto Restart)。
  • 集中化管理:是自动化运维(如使用 Ansible, Puppet)的基础。

缺点

  • 配置相对复杂,需要额外部署和配置 Node Manager。
  • 对网络连接有一定要求。

直接在服务器主机上启动(不推荐,仅用于调试)

这种方式直接在 Managed Server 所在的主机上启动服务器进程,绕过了 Admin Server 和 Node Manager。强烈不在生产环境中使用,因为它会破坏域的统一配置管理。

操作步骤:

  1. 定位启动脚本

    • <DOMAIN_HOME>/bin/ 目录下,有一个 startWebLogic.sh(或 .cmd)。注意:这是启动 Admin Server 的脚本
    • 要启动 Managed Server,你需要手动创建一个启动脚本,或者修改 startWebLogic.sh 的配置。
  2. 创建 Managed Server 启动脚本

    • 复制 <DOMAIN_HOME>/bin/startWebLogic.shstartMyManagedServer.sh
    • 编辑 startMyManagedServer.sh,找到类似 SERVER_NAME=AdminServer 的行,将其改为你的 Managed Server 名称,SERVER_NAME=ManagedServer1
    • 确保环境变量 DOMAIN_HOMEJAVA_HOME 设置正确。
  3. 执行启动

    • ./startMyManagedServer.sh

警告

  • 这种方式启动的 Managed Server 不会从 Admin Server 获取最新的配置,它会使用该服务器目录下 config 目录中的“快照”配置。
  • 如果你在 Admin Console 中修改了配置(如数据源、JMS 队列等),这种手动方式启动的服务器将不会应用这些更改,导致应用行为异常。

总结与建议

场景 推荐方式 理由
日常手动检查/启动 WebLogic Console 直观、简单,无需命令行。
命令行/脚本自动化 startManagedWebLogic.sh/cmd 灵活可靠,是自动化脚本的首选。
生产环境/远程运维 Node Manager 支持远程操作、自动重启,是实现高可用和自动化的基石。
紧急调试/无网络 直接启动 最后的选择,仅用于紧急情况,且需意识到配置不同步的风险。

启动失败的常见排查思路

Managed Server 启动失败,请按以下顺序排查:

  1. 查看日志文件:这是最重要的第一步!日志文件路径是 <DOMAIN_HOME>/servers/<ManagedServerName>/logs/<ManagedServerName>.log,仔细阅读错误堆栈信息,它会告诉你失败的根本原因。
  2. 检查 Admin Server 状态:确保 Admin Server 处于 RUNNING 状态,Managed Server 可以访问到它。
  3. 检查端口冲突:使用 netstat -an | grep <ListenPort> (Linux) 或 netstat -ano | findstr <ListenPort> (Windows) 命令,检查 Managed Server 的监听端口是否被其他进程占用。
  4. 检查内存配置JAVA_OPTIONS 中设置的 -Xmx 值是否过大,超出了服务器的可用物理内存?
  5. 检查配置一致性:如果使用了手动启动或 Node Manager 启动失败,检查本地 config 目录和 Admin Server 上的配置是否一致。
  6. 检查 Node Manager 连接:如果通过 Node Manager 启动失败,检查 Node Manager 是否正常运行,以及 Admin Server 和 Node Manager 之间的网络和配置是否正确。
分享:
扫描分享到社交APP
上一篇
下一篇