配置和运行 BeenThere 样本


入门
添加 Application Server 节点
创建 Web 容器集群
创建 EJB 容器集群
更新虚拟主机
启用 WebSphere 配置服务
安装 BeenThere.ear 文件
配置安全性(可选)
启动服务器
运行样本
验证样本配置


入门

本部分描述图 1 所述的配置环境、安装和运行 BeenThere 样本的步骤。假设已安装下列软件:


机器名 已安装软件
web IBM HTTP Server
IBM HTTP Server 插件
app1 IBM WebSphere Application Server
app2 IBM WebSphere Application Server
dm IBM WebSphere Application Server Deployment Manager


注:以下指示信息假设 Web 服务器和它的管理服务正在运行,并且已在 Deployment Manager 上创建了 Web 服务器定义以自动传播 plugin-cfg.xml 文件。



添加 Application Server 节点

完成下列步骤将 Application Server 节点添加到单元中:


  1. 启动 Deployment Manager。
  2. 在安装应用程序服务器的机器的命令行上,输入以下命令(install_root/bin必须在您的 PATH 环境变量,其中 install_root 是 WebSphere Application Server Base 安装根):

    在 Windows 平台上:
    addNode <deploymgr host>

    在 Linux 和 UNIX 平台上:
    addNode.sh <deploymgr host>

    在 iSeries 平台上:
    install_root/bin/addNode <deploymgr host> <deploymgr port> -profileName <profileName> -startingport <portblock>

    其中:
    <deploymgr host> 是运行 Deployment Manager 的主机名。
    <deploymgr port> 是 Deployment Manager 的 SOAP 连接器端口。
    <profileName> 是要添加到 Deployment Manager 的 Application Server 的概要文件名。
    <portblock> 是一组未使用的端口。用于避免多个实例环境中的端口冲突。

  3. 在安装第二个 WebSphere Application Server 实例的机器上重复此过程。

应用程序服务器现在已与单元联合在一起。



创建 Web 容器集群

MyWebCluster 集群提供 servlet 的工作负载均衡和故障转移。

完成下列步骤创建 MyWebCluster 集群:


  1. 在浏览器中打开管理控制台 Web 地址 http://<host_name>:9060/ibm/console,其中 <host_name> 是运行 Deployment Manager 的主机名或 IP 地址。
  2. 在管理控制台中,单击服务器 > 集群
  3. 单击新建
  4. 在“集群名称”字段中输入 MyWebCluster
  5. 单击下一步
  6. 输入以下值:
  7. 单击下一步
  8. 输入以下值:
  9. 单击应用
  10. 单击下一步
  11. 单击完成
  12. 在管理控制台中主面板的顶部单击保存
  13. 选择使更改与节点同步的复选框。
  14. 单击保存

现在创建了 MyWebCluster 集群。



创建 EJB 容器集群

MyEJBCluster 集群提供企业 bean 的工作负载均衡和故障转移。

完成下列步骤创建 MyEJBCluster 集群:


  1. 单击服务器 > 集群
  2. 单击新建
  3. 在“集群名称”字段中输入 MyEJBCluster
  4. 清除启用使用本地复选框。

    注意:在分布式平台上,选择“使用本地”选项表明请求路由到运行在本地节点上的企业 bean(如果可用)。在样本配置中禁用了“使用本地”选项以演示 EJB 请求的工作负载管理。

  5. 单击下一步
  6. 输入以下值:
  7. 单击下一步
  8. 输入以下值:
  9. 单击应用
  10. 单击下一步
  11. 单击完成
  12. 在管理控制台中主面板的顶部单击保存
  13. 单击保存

现在创建了 MyEJBCluster 集群。



更新虚拟主机

在创建 MyWebCluster 集群期间,为每个新的集群成员选择了“生成唯一 Http 端口”选项。选择该选项通过为每个创建的新的应用程序服务器创建一个唯一的端口值来避免 HTTP 端口冲突。

完成下列步骤以确保动态创建的每个 HTTP 端口值都有一个关联的为 default_host 虚拟主机配置的主机别名条目:


  1. 在管理控制台中,单击服务器 > 应用程序服务器 > WebServer1 > Web 容器设置 > Web 容器传输链 > WCInboundDefault
  2. 记下禁用 SSL 的条目的主机和端口值。
  3. 单击环境 > 虚拟主机 > default_host > 主机别名
  4. 验证主机别名列表是否包含第二步中的主机名和端口值。对于没有列出的值,按照下列步骤执行:
    1. 单击新建
    2. 输入先前记下的主机名和端口。
    3. 单击应用
    4. 在管理控制台中主面板的顶部单击保存
    5. 单击保存
  5. WebServer2 重复此过程。

现在更新了虚拟主机。



启用 WebSphere 配置服务

缺省情况下没有为应用程序服务器启用 WebSphere 配置服务。样本需要此服务来进行程序化地读 WebSphere Application Server 配置文件以获取环境信息。

完成下列步骤启用 WebSphere 配置服务:


  1. 单击服务器 > 应用程序服务器 > WebServer1 > 服务器基础结构 > 管理 > 管理服务 > 定制属性
  2. 单击新建
  3. 输入以下值:
  4. 单击应用
  5. 在管理控制台中主面板的顶部单击保存
  6. 单击保存
  7. WebServer2 重复此过程。

现在启用了 WebSphere 配置服务。



安装 BeenThere.ear 文件

完成下列步骤安装 BeenThere.ear 文件:


  1. 在管理控制台中,单击应用程序 > 安装新的应用程序
  2. 选择远程文件系统,然后选择浏览...
  3. 选择 Deployment Manager 的节点。
  4. 选择 <install_root>/samples/lib/BeenThere/BeenThere.ear 文件,其中 <install_root> 代表 Deployment Manager 的安装目录。
  5. 单击确定
  6. 单击下一步
  7. 验证虚拟主机是否设置为 Web 模块和 default_host 的缺省虚拟主机名。
  8. 单击下一步
  9. 单击继续
  10. 选择将模块映射到服务器步骤。
  11. 从“集群和服务器”列表中选择 MyWebCluster 集群和 Web 服务器。
  12. 选择 BeenThere WAR 模块。
  13. 单击应用
  14. 从“集群和服务器”列表中选择 MyEJBCluster 集群和 Web 服务器。
  15. 选择 BeenThere EJB 模块。
  16. 单击应用
  17. 单击步骤 8(概要)。
  18. 单击完成
  19. 单击保存为主配置
  20. 单击保存


配置安全性(可选)

如果不想使用具有安全性的 BeenThere,那么可以跳过此部分。要使用具有安全性的 BeenThere,单击此处以获取有关配置安全性的指示信息。



启动服务器

完成下列步骤以启动服务器:


  1. 单击服务器 > 集群
  2. 选择“MyWebCluster”和“MyEJBCluster”集群。
  3. 单击启动

现在启动了服务器。



运行样本

要运行样本,在浏览器中打开 BeenThere Web 地址 http://<host_name>/wlm/BeenThere,其中 <host_name> 是运行 IBM HTTP Server 的主机名或 IP 地址。





验证样本配置

注意,在 WebSphere V6 和更高版本中,有一个新功能用于使整个环境的吞吐量最大化。这最终意味着在这些版本上测试 BeenThere 样本时,工作负载管理组件可能不会严格地按确切的权重值来路由请求。可能会在运行时修改权重,所以以下验证方法可能不正确。在这些方案中,验证 WLM 功能的最佳方法是确保正在将请求路由至所有集群成员,而不管是否正在严格地按权重进行路由。也有一些用于禁用这些反馈机制的方法,如果需要这些方法,那么请与 IBM 支持人员联系以了解详细信息。


完成下列步骤验证 Web 容器工作负载管理是否正在按照配置正确地运行:


  1. 在浏览器中打开 BeenThere Web 地址 http://<host_name>/wlm/BeenThere,其中 <host_name> 是运行 IBM HTTP Server 的主机名或 IP 地址。

  2. 注意 servlet 运行概要中的值。这里提供了一个该概要的示例:

  3. 在浏览器中重新装入 BeenThere 页。

    servlet 运行概要中的值改变了,如下例所示:


    servlet 节点现在应该是 app2 而不是 app1。结果显示 IBM HTTP Server 将 HTTP 请求分派到了其他 MyWebCluster 集群的成员,该成员是 app2 上的 WebServer2。servlet 的重复运行展示了基于 MyWebCluster 集群的集群成员配置的权重的 HTTP 请求的工作负载管理行为。

现在验证了 Web 容器工作负载管理配置。


完成下列步骤验证 EJB 容器工作负载管理是否正在按照配置正确地运行:


  1. 为运行 BeenThere servlet 选择显示 servlet 和 bean 运行概要选项。
  2. Bean 调用数字段中输入 7
  3. 单击运行

    打开分布式平台,bean 运行概要中的值应该类似下例:


    从本例中您可以看到基于 MyEJBCluster 集群的集群成员配置的权重的企业 bean 的工作负载管理行为。在 app1 上的每一次运行有三次对运行在 app2 上的企业 bean 的调用。

    在 z/OS 平台上,权重值用于均衡 HTTP 请求,但不用于均衡因特网 ORB 间协议(IIOP)请求。

现在验证了 EJB 容器工作负载管理配置。


完成下列步骤验证是否已按照配置正确设置了 bean 集群的成员权重。


  1. 为运行 BeenThere servlet 选择显示 bean 集群成员权重选项。
  2. 单击运行

    与下例比较结果:


    结果显示 MyEJBCluster 集群的所有成员的权重。EJBServer1 的权重为 1,EJBServer2 的权重为 3

现在验证了 bean 集群成员权重。


恭喜您!您已经看到了工作负载管理的运行,并验证 BeenThere 样本是否正在按照配置正确地运行着!