用于 WebLogic Server 的 Sun Cluster 数据服务指南(适用于 Solaris OS)

探测算法和功能

故障监视器可以检测失败并采取措施。如果监视器在 BEA WebLogic Server 中检测到失败,它先重新启动 BEA WebLogic Server。如果 BEA WebLogic Server 在特定时间窗口(可由管理员配置)中失败了特定次数(可由管理员配置),则包含 BEA WebLogic Server 的资源组将被故障转移到另一个继续存在的群集节点并重新启动。

缺省情况下,故障监视器方法将探测在扩展特性 Server_url 中设置的服务器 URL。探测将连接到主机名和端口,然后在 URL 上执行 HTTP GET 请求。如果连接失败,这将被视为是完全失败,包含 BEA WebLogic Server 的资源组将重新启动,或故障转移到另一个继续存在的群集节点并重新启动。如果连接成功,但 http 响应代码为 500(内部服务器错误),这还将被视为是完全失败,资源组将重新启动或进行故障转移。所有其他 http 响应代码均被视为是成功。

如果设置了 monitor_uri_list 扩展特性,探测方法将连接到在列表中包含的 URI,并在失败时采取措施。探测将在指定的一个或多个 URI 上执行 HTTP GET

如果探测检测到 BEA WebLogic Server 实例的完全失败(URL 或 URI 探测),并且在扩展特性 db_probe_script 中指定了数据库探测脚本,则探测方法将先探测数据库,然后再对 BEA WebLogic Server 资源采取措施。如果数据库探测脚本返回成功(数据库正在运行),将对 BEA WebLogic Server 资源采取措施。如果数据库探测脚本返回失败(数据库已关闭),则在数据库运行之前,BEA WebLogic Server 探测不会采取任何措施(重新启动或故障转换)。

START 方法

启动在资源中配置的 BEA WebLogic Server 之前,将先验证 BEA WebLogic Server 配置和资源扩展特性。如果设置了 db_probe_script 扩展特性,将通过在扩展特性中调用脚本集来探测数据库。如果数据库正在运行,将通过调用在 pmf 下的扩展特性 Start_script 中配置的 START 脚本来启动 BEA WebLogic Server。如果数据库已关闭,START 方法将返回成功,并使探测方法可以处理 BEA WebLogic Server 的启动。探测方法将等待,直到数据库运行才启动 BEA WebLogic Server,如探测算法和功能中所述。

启动 pmf 下的 START 脚本后,START 方法将等待,直到 BEA WebLogic Server 处于运行模式,然后再将 START 方法声明为成功。在等待 BEA WebLogic Server 启动时,探测方法将尝试连接到服务器以检查其是否在运行。启动过程中,在控制台上将显示一些消息。在 BEA WebLogic Server 完全启动之前,将不断显示消息“无法连接到 logical-host-1 和端口 7001: 连接被拒绝”。BEA WebLogic Server 处于运行模式后,START 方法会将状态设置为“已成功启动”。

STOP 方法

STOP 方法可以停止在资源中配置的 BEA WebLogic Server。缺省情况下,STOP 方法通过向 BEA WebLogic 进程发送 SIGKILL 来终止 BEA WebLogic Server。如果将 smooth_shutdown 扩展特性设置为 TRUE,STOP 方法将尝试通过运行以下命令来停止 BEA WebLogic 实例


java weblogic.Admin -url hostname:port -username $WLS_USER 
-password $WLS_PW SHUTDOWN

如果此命令失败,将通过使用 SIGKILL 来关闭 BEA WebLogic Server。即使命令成功,STOP 方法也会发送 SIGKILL 以确保 BEA WebLogic 进程已停止。

如果将 smooth_shutdown 扩展特性设置为 TRUE,请确保已在 BEA WebLogic Server START 脚本中设置 WLS_USERWLS_PW。将 Smooth_shutdown 设置为 TRUE 后,除非再次将扩展特性设置为 FALSE,否则不能从 START 脚本中删除 WLS_USERWLS_PW