在主机或服务器上执行诊断测试、维护或调整之前,应进入维护方式。维护方式可阻止干扰客户机请求(通过将目标为处于维护方式的服务器的客户机流量路由至另一服务器)。
关于此任务
如果充当缩放成员的服务器处于维护方式,那么缩放控制器无法启动或停止该服务器。该服务器不会计入集群的最小或最大运行实例设置。
主机处于维护方式时,缩放控制器无法在该主机上提供新服务器。
可在加入集合体的服务器上或注册至集合体的主机上进入维护方式。
通过已启用智能管理的
Web 服务器,可使用维护方式来改变请求的路由。
使服务器或主机进入维护方式是一种持久更改。服务器或主机将保持维护方式(即使服务器重新启动),直到此方式明确更改。
过程
- 使用 collective enterMaintenanceMode 命令以将服务器或主机及其服务器置于维护方式。
wlp/bin/collective enterMaintenanceMode
--host=controllerHostName
--port=controllerHttpsPortNumber
--user=adminUser
--password=adminPassword
--hostName=serverHostName
[--usrDir=serverUserDirectory]
[--server=serverName]
[--break]
[--force]
要减少所需的选项数目,请使用 --controller 选项,而不是
--user、--password、--host 和 --port。
wlp/bin/collective enterMaintenanceMode --controller=adminUser:adminPassword@controllerHostName:controllerHttpsPortNumber --hostName=serverHostName [--usrDir=serverUserDirectory]
[--server=serverName][--break][--force]
--host 和 --port 自变量标识可处理该命令的集合体控制器。--user 和 --password
自变量是用于向控制器认证的管理用户标识和密码。
--hostName、--usrDir 和 --server 自变量标识要置于维护方式的服务器。如果要将主机及其服务器置于维护方式,请仅提供
--hostName 自变量并省略 --usrDir 和 --server 自变量。
缺省情况下,Web 服务器继续将具有亲缘关系的请求发送至处于维护方式的服务器。使用 --break
以阻止任何流量路由至该服务器,包括与服务器具有亲缘关系的请求。
缩放控制器启动另一服务器以替换已置于维护方式的每个缩放成员。另一服务器将启动以满足集群的最小实例数或满足当前工作负载需求。缺省情况下,如果缩放控制器找不到另一服务器来充当替换项,那么该服务器不会置于维护方式。使用
--force 自变量将导致服务器置于维护方式,即使没有替换服务器可用。
- 使用 collective exitMaintenanceMode 命令以将服务器或主机及其服务器脱离维护方式。
wlp/bin/collective exitMaintenanceMode
--host=controllerHostName
--port=controllerHttpsPortNumber
--user=adminUser
--password=adminPassword
--hostName=serverHostName
[--usrDir=serverUserDirectory]
[--server=serverName]
要减少所需的选项数目,请使用 --controller 选项,而不是
--user、--password、--host 和 --port。
wlp/bin/collective exitMaintenanceMode --controller=adminUser:adminPassword@controllerHostName:controllerHttpsPortNumber --hostName=serverHostName
[--usrDir=serverUserDirectory][--server=serverName]
- 使用 collective getMaintenanceMode 命令以显示服务器或主机及其服务器是否处于维护方式。
wlp/bin/collective getMaintenanceMode
--host=controllerHostName
--port=controllerHttpsPortNumber
--user=adminUser
--password=adminPassword
--hostName=serverHostName
[--usrDir=serverUserDirectory]
[--server=serverName]
要减少所需的选项数目,请使用 --controller 选项,而不是
--user、--password、--host 和 --port。
wlp/bin/collective getMaintenanceMode --controller=adminUser:adminPassword@controllerHostName:controllerHttpsPortNumber --hostName=serverHostName
[--usrDir=serverUserDirectory][--server=serverName]
示例
在此示例中,hostc 具有集合体控制器。集合体控制器已启用缩放控制器和动态路由选择功能。在缩放控制器的 server.xml 文件中,最小活动集群成员数设置为 1。Host1 具有两个已启动集群成员:memberA1(对应 cluster A)和 memberB1(对应 cluster B)。Host2 有一个已停止的集群成员 memberA2(对应 cluster A)。所有集群成员都启用了缩放成员功能部件。同时存在已启用智能管理的 Web 服务器,此服务器将请求路由至集群成员。
要将
host1 置于维护方式,请输入以下命令:
wlp/bin/collective enterMaintenanceMode
--host=hostc
--port=controller1HttpsPortNumber
--user=adminUser
--password=adminPassword
--hostName=host1
要减少所需的选项数目,请使用 --controller 选项,而不是
--user、--password、--host 和 --port。
wlp/bin/collective enterMaintenanceMode --controller=adminUser:adminPassword@hostc:controller1HttpsPortNumber --hostName=host1
此命令发出以下响应:
Successfully enter maintenance mode for host1.
An alternate server must be started. Maintenance mode will be set for memberA1 when the alternate server is started.
Could not enter maintenance mode for memberB1 because an alternate server is not available.
缩放控制器启动 memberA2
作为 memberA1 的替换项。memberA2 启动后,memberA1 将置于维护方式。Web 服务器不再将
HTTP 请求路由至 memberA1。
缩放控制器无法替换 memberB1,因此该成员不会置于维护方式。可再次运行该命令(使用
--force 自变量以强制 memberB1 置于维护方式),这会影响在 clusterB 中运行的请求的性能。
下一步做什么
另外,当违反运行状况策略时,运行状况控制器还将使用服务器维护方式作为一项处理措施。例如,如果使用超长响应时间条件,并且响应时间超过服务器的指定平均响应时间阈值,那么服务器可进入维护方式。