Linux应用开发加油:创建WebSphere(3)
发表于:2007-07-04来源:作者:点击数:
标签:
在步骤 2 中,在节点 TP2 上创建一个名为 clone1 的克
在步骤 2 中,在节点 TP2 上创建一个名为 clone1 的克隆。设置权重为 2,选择 Generate Unique Http Ports 和 Create Replication Entry in this Server。使用默认的应用程序服务器模板并单击 Apply。
图 17. 创建新的群集的服务器 javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)"> 重复步骤" 2,在节点 TP2 上创建一个名为 clone2 的克隆。设置权重为 2,选择 Generate Unique Http Ports 和 Create Replication Entry in this Server。使用默认的应用程序服务器模板并单击 Apply。
再次重复步骤 2,在节点 TP2 上创建一个名为 clone3 的克隆。设置权重为 4,选择 Generate Unique Http Ports 和 Create Replication Entry in this Server。使用默认的应用程序服务器模板并单击 Next。
检查总结以确认群集中已经存在三个有正确属性的克隆。然后单击 Finish 保存修改。
在群集的创建过程中,您已经为这个群集创建了一个复制域(Replication Domain),可以用它来在克隆之间复制 http 会话以支持故障切换。为此,您需要配置应用程序服务器 clone1 和 clone2 去使用这一服务。在 Administrative Console 中,选择 Application Servers > clone1 > Web Container > Session Management > Distributed Environment Settings。然后选择 Memory to Memory Replication 单选按钮。重复此过程设置 clone2。
现在您已经创建了一个群集定义。下一个步骤是安装一个企业应用程序。在这个练习中,使用的是位于 WebSphere Application Server 安装的 /installableApps 目录下的 DefaultApplication.ear。用 Deployment Manager Administrative Console 来安装这个应用程序。将一个企业应用程序安装到群集与安装到独立的应用程序服务器的过程相同,只有一点例外:在“将模块映射到应用程序服务器”步骤中,您必须为所有模块选择 cluster1。参见下面图 18 中的例子。(介绍企业应用程序详细的安装步骤不在本文范围之内。)
图 18. 将模块映射到应用程序服务器 在群集的设置过程中,三个克隆创建时各自使用惟一的 HTTP 端口。这就意味着在每个应用程序中运行的内部服务器的 HTTP 监听器有特定的值。管理进程创建新端口所用的算法,为每个定义的新服务器使用默认值(HTTP 传输使用 9080)并递增到下一个没有被占用的值。
在这个例子中,当您安装完 WebSphere Application Server 后,创建了一个名为 server1 的独立服务器。当这个节点添加到 Deployment Manager 时,server1 也会迁移为托管服务器。Server 1 使用 9080 端口进行 HTTP 传输。在 TP2 上,创建的 clone1 使用 9081 端口,clone2 使用 9082 端口。当安装 DefaultApplication.ear 时,Web 模块要使用 default_host 虚拟主机。默认情况下,default_host 只接受 9080 端口上的请求,所以您需要配置这个虚拟主机,让它也可以接受 9081 端口和 9082 端口上的请求。
在 Administrative Console 中通过 Environment > Virtual Hosts > default_host > Host Aliases 来为默认主机添加附加端口的支持。单击 New 以添加一个新的别名。用 * 作为主机名(* 代表任意主机名),用 9081 作为端口值。重复这一过程来设置 9082 端口,如图 19 所示。
图 19. default_host 的附加端口 确保 Synchronize changes with Nodes 已经被选中,保存配置。
既然您已经在群集中安装了一个应用程序,现在该测试它了。在我们的运行期中有三种类型的进程:Deployment Manager、Node Agent 和 Application Server。它们每个都是独立的系统级 Java 进程。
您可以使用 Deployment Manager 的 Administrative Console 来启动或停止群集。在此之前,每个节点都必须已经在运行 Node Agent。您可以使用表 1 中的命令来控制安装中的 Deployment Manager 和 Node Agent。
表 1. 控制 Deployment Manager 和 Node Agent 的命令
从先前执行" addNode 命令时起,Node Agent 应该还在运行。在 Administrative Console 中通过 System Administration > Node Agent 来检查 TP1 和 TP2 的 Node Agent 是否在运行。然后查看节点 TP1 和 TP2 的状态。如果其中一台计算机上的 Node Agent 不可用,那么在那台计算机的命令行中启动它。当所有 Node Agent 都启动后,您可以通过 Administrative Console 启动群集,如图 20 所示。根据您的硬件配置的不同,启动过程可能需要几分钟。
图 20. 启动群集 在测试工作负荷管理之前,有必要先分别检验一下各个克隆是否在工作。打开一个浏览器,访问下面的" URL:
http://tp2:9081/hello - 查看 clone1 是否在工作。
http://tp2:9082/hello - 查看 clone2。
http://tp1:9081/hello - 查看 clone3。
图 21. 确认服务器在运行 如果三个" URL 返回图 21 中的结果,那么群集中所有服务器都在工作,而且使用的端口正确无误。关闭您的浏览器。
测试工作负荷管理 HTTP 服务器插件提供了对 Web 应用程序工作负荷的管理。在往 TP1 上安装 WebSphere Application Server 的同时也安装了 IBM HTTP 服务器。默认情况下,插件使用 /opt/WebSphere/AppServer/config/cells 目录下的 plugin-cfg.xml 配置文件。通过 Administrative Console 中的 Environment > Update Web Server Plugin 来生成插件的配置。
Administrative Console 生成的文件将放在 /opt/WebSphere/DeploymentManager/config/cells 目录中。所以,您需要将生成的文件手工拷贝到 HTTP 服务器插件可以找到的目录,比如 /opt/WebSphere/AppServer/config/cells 目录。
DefaultApplication.ear 中的 snoop servlet 适合用于测试工作负荷。它显示用来执行请求的进程名。打开一个浏览器并输入这个 URL:http://tp1/snoop(IBM HTTP 服务器安装在 TP1 上)。
图 22. 测试工作负荷 多刷新几次您的浏览器,查看是哪个克隆执行请求。您应该会得到 1233、1233 等序列,这反映出了配置克隆时指定的相对权重。
注意:如果您总是看到同一个克隆的 id,那么关闭浏览器再重新打开。这样可以删除被 WebSphere Application Server 用于会话亲缘性(session affinity)的 cookie。
原文转自:http://www.ltesting.net