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

Sun Cluster HA for BEA WebLogic Server 故障监视器的操作

本节介绍了 Sun Cluster HA for BEA WebLogic Server 故障监视器。

扩展特性

Sun Cluster HA for BEA WebLogic Server 使用以下扩展特性。您可能可以调整这些扩展特性。有关如何查看或设置扩展特性的详细信息,请参见Sun Cluster HA for BEA WebLogic Server 扩展特性

表 1–3 Sun Cluster HA for BEA WebLogic Server 扩展特性

名称/数据类型 

说明 

Confdir_list(字符串数组) 

BEA WebLogic Server 起始目录 $WL_HOME 的完整路径在此扩展特性中进行设置。


注意 –

如果 setWLSEnv.shstartWLS.sh 不位于标准 $confdir_list/server/bin 位置,则必须创建从 $confdir_list/server/bin 目录到这些文件的链接。如果未创建此链接,BEA WebLogic Server 资源创建将失败。


缺省值:

可调:创建时

Start_Script(字符串) 

脚本的完整路径,应使用它来启动 BEA WebLogic Server 实例(管理或受管理)。此脚本通常和 config.xml 文件存在于域名目录下。可以将单独的脚本或单个脚本配置为启动每个 BEA WebLogic Server。有关详细信息,请参见配置要求

缺省值:

可调:创建时

Server_Url(字符串) 

BEA WebLogic Server 的完整 URL(包括用于连接服务器的协议),此资源被配置为启动。通过在 URL 上执行 HTTP GET,探测方法使用此 URL 来检查服务器的运行状况。必须将 URL 中的协议设置为 http。完整的 URL 应为以下格式。


http://host:port

有关 Server_Url 的详细信息,请参见适用于您所使用版本的相关 BEA WebLogic Server 文档。例如,对于 BEA WebLogic Server 7.0,该文档位于以下 Web 站点。


http://e-docs.bea/com/wls/docs70/adminguide
/startstop.html#1161188

确保 server_urlmonitor_uri_list 中使用的主机名是可解析的。如果使用全限定域名 (FQDN),则必须启用 DNS 并且 /etc/nsswitch.conf 必须具有正确的条目,以解析使用 DNS 的主机名。

缺省值:

可调:创建时

Monitor_Uri_List(字符串) 

单个 URI 或用逗号分隔的 URI 列表。通过在 URI 上执行 HTTP GET,故障监视器可以使用单个 URI 或 URI 列表来测试 BEA WebLogic Server 的功能。Server_Url 扩展特性适用于对主机名和端口的简单探测。通过检索 Java Servlet 或者使 WLS 运行应用程序并返回 HTTP 服务器代码,可以使用此扩展特性探测 WLS 功能。如果 HTTP 服务器返回的代码是 500(内部服务器错误)或者如果连接失败,探测将采取操作。有关详细信息,请参阅探测方法。

确保 server_urlmonitor_uri_list 中使用的主机名是可解析的。如果使用全限定域名 (FQDN),则必须启用 DNS 并且 /etc/nsswitch.conf 必须具有正确的条目,以解析使用 DNS 的主机名。

缺省值:

可调:任何时候。

Server_name(字符串) 

通过将受管理服务器名称作为参数传送到启动脚本,可以使用单个 START 脚本启动所有受管理服务器。如果代理启动方法必须将服务器名称作为参数传送到 START 脚本,则应在此扩展特性中配置受管理服务器名称。 

缺省值:

可调:任何时候。

DB_Probe_Script(字符串) 

可以使用此扩展特性设置数据库探测脚本的完整路径。HA-WLS 探测方法仅探测 WLS 实例。如果管理员还需要 HA_WLS 探测 DB,则可以使用此扩展特性提供数据库探测脚本。此探测脚本必须返回 0(表示成功)。仅当此数据库探测返回成功时,才会启动 BEA WebLogic Server。如果 HA-WLS 探测在 WLS 实例中检测到失败并且设置了此扩展特性,则仅当数据库探测成功时,HA-WLS 探测才会采取措施。有关详细信息,请参见探测算法和功能

缺省值:

可调:任何时候。

Smooth_shutdown 

这是要使用 WebLogic.Admin 类启用顺序关闭的扩展特性。在尝试终止 WLS 进程之前,如果希望执行顺序关闭,则必须将此扩展特性设置为 TRUE。如果此扩展特性为 TRUE,则必须在 start_script(而不是 boot.properties)中设置 WLS_USERWLS_PW

如果以下所有情况都适用,请将此扩展特性设置为 TRUE。

  • start_script 中设置 usernamepassword 无关紧要

  • 希望进行顺序关闭而不是缺省关闭(终止进程)

  • 以下情况无关紧要:如果代理 STOP 方法从 START 脚本读取用户名和口令,并将其传送到 java weblogic.Admin 命令

缺省值:False

可调:任何时候。

探测算法和功能

故障监视器可以检测失败并采取措施。如果监视器在 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