`
pengjianbo1
  • 浏览: 232551 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

设置 WebLogic 群集

阅读更多

<script type="text/javascript"></script>  

             <!--<a accesskey="2" href="javascript:OpenWindowIndex();" onmouseover="window.status='Index'; return true" onfocus="window.status='Index'; return true" onmouseout="window.status=''; return true" onblur="window.status=''; return true" title="Open Index in new window"> <img id="LongDescNotReq5" src="/global_resources//images/doc_nav_index.gif" border="0" alt="Open Index in new window" /></a>-->  <!--<a href="../pdf/cluster.pdf" target="pdf"><img id="LongDescNotReq6" src="/global_resources/images/doc_nav_pdf.gif" width="59" height="44" alt="View as PDF - New Window" title="View as PDF - New Window" border="0" /></a>-->  <!--<a href="http://www.adobe.com/products/acrobat/alternate.html" target="_blank"><img id="LongDescNotReq7" src="/global_resources/images/get_reader.gif" width="52" height="44" alt="Get Adobe Reader - New Window" title="Get Adobe Reader - New Window" border="0" /></a>-->

在此处开始内容

设置 WebLogic 群集

下列部分包含了配置 WebLogic Server 群集的准则和说明:

 


开始之前

本部分简要讲述了设置 WebLogic Server 群集的前提任务和信息。

获取群集许可

群集的 WebLogic Server 实例的安装必须具有有效的群集许可。如果您没有群集许可,则请与 BEA 销售代表联系。

了解配置过程

如果您大致了解群集配置过程以及如何完成配置任务,则本部分中的信息对您最有帮助。

有关 WebLogic Server 中的可用配置工具以及它们所支持任务的信息,请参阅了解群集配置

确定群集架构

确定什么样的群集架构最能满足您的需求。主要的架构决策包括:

  • 应该将所有应用程序层组合在一个群集内,还是应该将应用程序层分隔在不同的群集内?
  • 如何在群集中的服务器实例之间平衡负载?您将:
    • 使用基本 WebLogic Server 负载平衡,
    • 实现第三方负载平衡器,还是
    • 将应用程序的 Web 层部署在一个或多个次级 HTTP 服务器上并向其代理请求?
  • 是否应该定义带有一个或多个防火墙的 Web 应用程序非军事化区(De-Militarized Zone,简称 DMZ)?

要获得这些决策的指导,请参阅群集体系结构群集中的负载平衡

您所选择的架构将对群集的设置方式产生影响。群集架构可能还需要您安装或配置其他资源,如负载平衡器、HTTP 服务器和代理插件。

考虑网络和安全拓扑结构

安全要求构成了设计合适的安全拓扑结构的基础。有关提供各种应用程序安全级别的几种其他架构的讨论,请参阅群集体系结构的安全选项

注意: 某些网络拓扑结构可能会干扰多播通信。如果您要在 WAN 中部署群集,请参阅如果群集跨越 WAN 中的多个子网

注意: 请尽量不要跨越防火墙在群集中部署服务器实例。有关穿越防火墙建立多播流量隧道的结果的讨论,请参阅防火墙可能会中断多播通信

为群集安装选择计算机

确定计划在其中安装 WebLogic Server 的一个或多个计算机(在本部分中通篇称这样的计算机为“主机”)并确保它们具有所需的资源。WebLogic Server 允许您在单独的、非多宿主计算机上设置群集。这种新功能对于演示环境或开发环境非常有用。

注意: 不要在具有动态分配的 IP 地址的计算机上安装 WebLogic Server。

多 CPU 计算机上的 WebLogic Server 实例

BEA WebLogic Server 对于可驻留于群集中的服务器实例数没有内置的限制。一些大型的多处理器服务器(如 Sun Microsystems, Inc. Sun Enterprise 10000)可以承载非常大的群集或者多个群集。

大多数情况下,按照每两个 CPU 一个 WebLogic Server 实例的方式进行部署,WebLogic Server 群集的可伸缩性最好。但是,您应该使用计划的所有容量对带有目标 Web 应用程序的真正部署进行测试,以确定服务器实例的最佳数量和分布。有关详细信息,请参阅“WebLogic Server 性能及调整”中的“在多 CPU 计算机上运行多个服务器实例时要注意的性能事项”。

检查主机计算机的套接口读取器实现

为了获得最佳的套接口性能,请对 WebLogic Server 主机计算机进行配置,使其使用面向您的操作系统的本地套接口读取器,而不要使用纯 Java 实现。要了解原因,以及有关配置本地套接口的说明或优化纯 Java 套接口通信的说明,请参阅使用 IP 套接口的端到端通信

在不联网的 Windows 计算机上设置群集

如果您希望在单独的、不联网的 Windows 计算机上演示 WebLogic Server 群集,则必须强制 Windows 加载 TCP/IP 堆栈。默认情况下,如果 Windows 不检测物理网络链接,则不会加载 TCP/IP 堆栈。

要强制 Windows 加载 TCP/IP 堆栈,请使用“How to Disable Media Sense for TCP/IP in Windows”(网址为 http://support.microsoft.com/default.aspx?scid=kb;en-us;239924)中的说明禁用 Windows 媒体传感功能。

标识名称和地址

在群集配置过程中,您要为群集中的服务器实例提供地址信息 – IP 地址或 DNS 名称和端口号。

有关群集内通信的信息,以及它如何实现负载平衡和故障转移的信息,请参阅群集中的 WebLogic Server 通信

设置群集时,必须提供下列内容的位置信息:

  • 管理服务器
  • 受管服务器
  • 多播位置

请阅读下面的部分,了解有关必须提供的信息以及影响资源标识方法的因素的解释。

避免监听地址问题

配置群集时,可以使用 IP 地址或 DNS 名称指定地址信息。

DNS 名称还是 IP 地址?

决定使用 DNS 名称还是 IP 地址时,要考虑群集的用途。对于生产环境,通常建议使用 DNS 名称。在下列情况下使用 IP 地址可能会造成转换错误:

  • 客户端要穿越防火墙连接群集,或者
  • 在展示层和对象层之间具有防火墙,例如,在 Servlet 群集和 EJB 群集之间具有防火墙,如推荐的多层群集中所述。

通过将单个服务器实例的地址绑定到 DNS 名称,可以避免转换问题。确保环境中防火墙两侧的服务器实例的 DNS 名称相同,不要使用同时也是网络上某个 NT 系统名称的 DNS 名称。

有关使用 DNS 名称而不使用 IP 地址的详细信息,请参阅防火墙注意事项

如果内部和外部 DNS 名称不同

如果 WebLogic Server 实例的内部和外部 DNS 名称不同,则对于该服务器实例请使用 ExternalDNSName 特性来定义该服务器的外部 DNS 名称。在防火墙之外,ExternalDNSName 应转换为服务器的外部 IP 地址。如果客户端正在基于默认通道和 T3 访问 WebLogic Server,则请不要设置 ExternalDNSName 特性,即使 WebLogic Server 实例的内部和外部 DNS 名称不同也不要设置。

本地主机注意事项

如果将服务器实例的监听地址标识为本地主机,非本地过程则无法连接该服务器实例。只有承载该服务器实例的计算机上的过程能够连接该服务器实例。如果服务器实例必须作为本地主机进行访问(例如,您具有连接本地主机的管理脚本),还必须能够由远程过程进行访问,则请将监听地址留空。该服务器将会确定计算机的地址并监听该地址。

为 WebLogic Server 资源分配名称

确保 WebLogic Server 环境中的每个可配置资源都具有唯一名称。每个域、服务器、计算机、群集、JDBC 数据源、虚拟主机或其他资源都必须具有唯一名称。

管理服务器地址和端口

标识要用于群集的管理服务器的 DNS 名称或 IP 地址以及监听端口。

管理服务器是用于配置和管理其域中所有受管服务器的 WebLogic Server 实例。当您启动受管服务器时,要标识其管理服务器的主机和端口。

受管服务器地址和监听端口

标识为群集计划的每个受管服务器的 DNS 名称或 IP 地址。

群集中的每个受管服务器都具有唯一的地址和监听端口号组合。一个非多宿主计算机上的群集服务器实例可以具有相同的地址,但必须使用不同的监听端口。

群集多播地址和端口

标识要专用于群集的多播通信的地址和端口。多播地址是介于 224.0.0.0 和 239.255.255.255 之间的 IP 地址。

注意: WebLogic Server 使用的默认多播值为 239.192.0.0。不应使用值为 x.0.0.1 的任何多播地址。

群集中的服务器实例使用多播互相通信 – 它们使用多播通知其服务,发出表明持续可用性的定期心跳。

群集的多播地址不应用于除群集通信之外的任何其他目的。如果群集多播地址所位于的计算机承载使用多播通信的群集外部程序或由这些群集外部程序访问,则请确保这些多播通信使用的端口与该群集多播端口不同。

多播和多个群集

如果有必要,网络上的多个群集可以共享一个多播地址和多播端口组合。

多播和多层群集

如果您正在按照群集体系结构中所述,设置在群集之间具有防火墙的推荐的多层架构,则需要两个专用的多播地址:一个用于展示 (Servlet) 群集,一个用于对象群集。使用两个多播地址会确保防火墙不会干扰群集通信。

群集地址

在 WebLogic Server 群集中,群集地址在实体 Bean 和无状态 Bean 中用于构造请求 URL 的主机名部分。

配置群集时可以明确定义群集地址;否则 WebLogic Server 会为每个新的请求动态生成群集地址。考虑到系统管理,让 WebLogic Server 动态生成群集地址是最简单的,适合开发环境也适合生产环境。

动态群集地址

如果在配置群集时不明确定义群集地址,则当群集的服务器实例收到远程请求时,WebLogic Server 会以下列格式生成群集地址:

listenaddress1:listenport1,listenaddress2:listenport2;listenaddress3:
listenport3 

群集地址中的每个 listen address:listen port 组合与收到该请求的受管服务器和网络通道相对应。

  • 如果请求是在受管服务器的默认通道上收到的,群集地址中的 listen address:listen port 组合则反映相关联 ServerMBeanSSLMBean 实例中的 ListenAddressListenPort 值。有关详细信息,请参阅“配置 WebLogic Server 环境”中的默认网络通道
  • 如果请求是在自定义网络通道上收到的,群集地址中的 listen address:listen port 则反映定义该通道的 NetworkAccessPointMBean 中的 ListenAddressListenPort 值。有关群集中网络通道的详细信息,请参阅“配置 WebLogic Server 环境”中的为群集配置网络通道

群集地址中包括的 ListenAddress:ListenPort 组合数由 ClusterMBeanNumberOfServersInClusterAddress 特性的值控制,默认情况下该值为 3。

您可以在管理控制台的“环境 -> 群集 -> ClusterName -> 配置 -> 常规”页上修改 NumberOfServersInClusterAddress 的值。

  • 如果群集中可用的受管服务器数比 NumberOfServersInClusterAddress 的值少,动态生成的群集地址则会为每个运行受管服务器都包含一个 ListenAddress:ListenPort 组合。
  • 如果群集中可用的受管服务器数比 NumberOfServersInClusterAddress 的值多,WebLogic Server 则会随机选择一部分可用实例 – 等于 NumberOfServersInClusterAddress 的值 – 并对于这些实例使用 ListenAddress:ListenPort 以形成群集地址。

ListenAddress:ListenPort 组合在群集地址中的显示顺序是随机的 – 根据请求的不同,该顺序也有所不同。

为生产环境明确定义群集地址

如果为生产环境中的群集明确定义群集地址,则请将群集地址指定为映射到群集中每个 WebLogic Server 实例的 IP 地址或 DNS 名称的 DNS 名称。

如果将群集地址定义为 DNS 名称,则不会在群集地址中指定群集成员的监听端口 – 将假设群集中的每个受管服务器都具有相同的监听端口号。因为群集中的每个服务器实例都具有唯一的地址和监听端口组合,所以如果群集地址是 DNS 名称的话,群集中的每个服务器实例则必须都拥有:

  • 唯一的地址和
  • 相同的监听端口号

当客户端通过提供群集 DNS 名称获取初始 JNDI 上下文时,weblogic.jndi.WLInitialContextFactory 会获取映射到该 DNS 名称的所有地址的列表。此列表由 WebLogic Server 实例缓存,新的初始上下文请求将通过循环法算法使用该缓存列表中的地址得以满足。如果该缓存列表中的某个服务器实例不可用了,则会将其从该列表中删除。只有当服务器实例无法访问其缓存中的任何地址时,该地址列表才会在 DNS 服务中刷新。

使用缓存的地址列表可以避免仅依赖于 DNS 循环法的问题。例如,DNS 循环法会一直使用已经映射到域名的所有地址,而不管这些地址是否可以访问。通过缓存该地址列表,WebLogic Server 可以删除不可访问的地址,因此对于新的初始上下文请求不会重复连接失败。

注意: 管理服务器不应该参与群集。请确保管理服务器的 IP 地址不会包括在群集范围的 DNS 名称中。有关详细信息,请参阅管理服务器注意事项
为开发和测试环境明确定义群集地址

如果明确定义在开发环境中使用的群集地址,则可以按照上一部分所述,对于该群集地址使用群集 DNS 名称。

另外,您还可以将群集地址定义为包含群集中每个受管服务器的 DNS 名称(或 IP 地址)和监听端口的列表,如下面的示例所示:

DNSName1:port1,DNSName1:port2,DNSName1:port3

IPaddress1:port1,IPaddress2:port2;IPaddress3:port3 

请注意,每个群集成员都具有唯一的地址和端口组合。

为单独的多宿主计算机明确定义群集地址

如果群集在单独的多宿主计算机上运行,并且群集中的每个服务器实例都使用不同的 IP 地址,则请使用映射到群集中服务器实例的 IP 地址的 DNS 名称定义群集地址。如果将群集地址定义为 DNS 名称,则请为群集中的每个受管服务器指定相同的监听端口号。

 


群集实现过程

本部分描述了如何通过应用程序组件的初始部署,使得 WebLogic Server 安装中的群集应用程序得以启动并运行。

配置流程图

本部分列出了典型的群集实现任务,并重点讲述了主要的配置注意事项。您要遵循的确切过程由环境的独特特征以及应用程序的特性决定。描述的任务包括:

对于每个群集实现,并非每个步骤都是必需的。在某些情况下可能还需要一些其他步骤。

安装 WebLogic Server

如果尚未安装,则请安装 WebLogic Server。有关说明,请参阅 Installing WebLogic Server

  • 如果群集在一个计算机上运行,则请在 /bea 目录下面安装一个 WebLogic Server 用于所有群集实例。
  • 对于远程的联网计算机,请在每台计算机上安装相同版本的 WebLogic Server。每台计算机:
    • 必须具有永久分配的静态 IP 地址。您不能在群集环境中使用动态分配的 IP 地址。
    • 必须可由客户端访问。如果服务器实例位于防火墙后面,客户端位于防火墙前面,每个服务器实例则都必须拥有可由客户端访问的公共 IP 地址。
    • 必须位于相同的局域网(local area network,简称 LAN)上并且必须可以通过 IP 多播访问。

注意: 不要使用共享文件系统和一个安装在不同计算机上运行多个 WebLogic Server 实例。使用共享文件系统会为群集带来单争端点。所有服务器实例必须竞争来访问该文件系统(可能会写入不同的日志文件)。而且,如果共享文件系统失败的话,可能无法启动群集的服务器实例。

创建群集的域

有多种方法可用于创建群集的域。有关列表,请参阅配置群集的方法

有关使用下列方法创建群集的说明:

启动 WebLogic Server 群集

有多种方法可用于启动群集 – 可用选项包括命令行界面、包含必需命令的脚本以及节点管理器。

注意: 节点管理器简化了启动服务器、在失败之后重启服务器的过程。

注意: 要使用节点管理器,必须首先在承载群集中受管服务器的每台计算机上配置节点管理器过程。请参阅配置节点管理器

无论您用什么方法来启动群集,都首先要启动管理服务器,然后启动群集中的受管服务器。

按照下面的说明进行操作可从命令外壳启动群集。请注意,每个服务器实例都在单独的命令外壳中启动。

  1. 打开命令外壳。
  2. 将目录更改为使用 Configuration Wizard 创建的域目录。
  3. 键入下面的命令启动管理服务器:
    StartWebLogic
  4. 在“Enter username to boot WebLogic Server”提示符处输入域的用户名。
  5. 在“Enter password to boot WebLogic Server”提示符处输入域的密码。

    该命令外壳将显示报告启动过程状态的消息。

  6. 打开另一个命令外壳,以便可以启动受管服务器。
  7. 将目录更改为使用 Configuration Wizard 创建的域目录。
  8. 键入下面的命令:

    StartManagedWebLogic server_name address:port

    其中:

    server_name 为要启动的受管服务器的名称

    address 为该域的管理服务器的 IP 地址或 DNS 名称

    port 为该域的管理服务器的监听端口

  9. 在“Enter username to boot WebLogic Server”提示符处输入域的用户名。
  10. 在“Enter password to boot WebLogic Server”提示符处输入域的密码。

    该命令外壳将显示报告启动过程状态的消息。

    注意: 启动受管服务器之后,它会监听来自群集中其他运行服务器实例的心跳。受管服务器会生成它的群集范围 JNDI 树本地副本,如 WebLogic Server 如何更新 JNDI 树中所述,然后当它与群集中每个运行受管服务器同步之后会显示状态消息。该同步过程大约可能需要一分钟左右。
  11. 要启动群集中的另一个服务器实例,请返回步骤 6,继续执行,直到步骤 10
  12. 启动了群集中的所有受管服务器之后,群集启动过程完成。

配置节点管理器

节点管理器是 WebLogic Server 提供的独立 Java 程序,它对于启动与其管理服务器位于不同计算机上的受管服务器非常有用。节点管理器还提供了有助于提高群集中受管服务器的可用性的功能。有关详细信息,以及配置和使用节点管理器的说明,请参阅“管理服务器启动和关闭”中的使用节点管理器控制服务器

为 EJB 和 RMI 配置负载平衡

请按照本部分中的说明为 EJB 和 RMI 对象选择负载平衡算法。

除非您明确指定,否则 WebLogic Server 会将循环法算法用作群集对象存根控件的默认负载平衡策略。要了解其他负载平衡算法,请参阅 EJB 和 RMI 对象的负载平衡。要更改默认负载平衡算法,请执行下列操作:

  1. 打开 WebLogic Server 控制台。
  2. 选择“环境 -> 群集”节点。
  3. 单击表中您的群集名。
  4. 如果尚未执行该操作,则单击位于控制台左上角的“锁定并编辑”按钮。
  5. 在“默认负载算法”字段中输入所需的负载平衡算法。
  6. 单击“高级”链接。
  7. 在“服务期限阈值”字段中输入所需的值。
  8. 单击“保存”保存您的更改。
  9. 准备好激活您的更改之后,立即单击左上角的“激活更改”按钮。

为 RMI 指定超时值

通过将 ClusterMBean 中的 ReplicationTimeoutEnabled 设置为 true,可以启用调用 ReplicationManager 时的超时选项。

该超时值等于多播心跳超时。尽管您可以自定义多播超时值,但 ReplicationManager 超时不能更改。之所以存在这种限制,是因为 ReplicationManager 超时不影响群集成员资格。丢失多播心跳会导致成员从群集中被删除,超时的 ReplicationManager 调用会选择新次级服务器进行连接。

注意: 群集成员可以继续发送多播心跳,但是无法处理复制请求。这样可能会导致次级服务器的分布不均匀。如果发生这种情况,则会在服务器日志中记录警告消息。

为分布式 JMS 目标配置服务器关系

要了解 WebLogic Server 为 JMS 提供的服务器关系支持,请参阅 JMS 的负载平衡

配置支持被动 Cookie 持久性的负载平衡器

支持被动 Cookie 持久性的负载平衡器可以使用 WebLogic Server 会话 Cookie 中的信息将客户端与承载该会话的 WebLogic Server 实例相关联。会话 Cookie 包含了负载平衡器用来标识会话的主服务器实例的字符串。

有关外部负载平衡器、会话 Cookie 持久性和 WebLogic Server 会话 Cookie 的讨论,请参阅使用外部负载平衡器实现 HTTP 会话的负载平衡

要配置用于群集的负载平衡器,请使用该负载平衡器的工具来定义该字符串常量的偏移和长度。

假设会话 Cookie 上会话 ID 部分的默认长度为 52 字节,则请在该负载平衡器上将:

  • 字符串偏移设置为 53 字节,即默认随机会话 ID 长度加上用于分隔符的 1 个字节。
  • 字符串长度设置为 10 字节

如果您的应用程序或环境要求指示您要将随机会话 ID 的长度从其默认值 52 字节更改为其他值,则请在负载平衡器上对字符串偏移进行相应设置。字符串偏移必须等于会话 ID 的长度加上用于分隔符的 1 个字节。

注意: 有关配置 Big-IP 负载平衡器的供应商特定说明,请参阅为群集配置 BIG-IP™ 硬件

配置代理插件

如果您希望使用代理插件对 Servlet 和 JSP 进行负载平衡,则请参阅本部分中的说明。代理插件会将请求从 Web 服务器代理到群集中的 WebLogic Server 实例,并且会为被代理的 HTTP 请求提供负载平衡和故障转移。

有关使用代理插件进行负载平衡的信息,请参阅使用代理插件进行负载平衡。有关使用代理插件的连接和故障转移的信息,请参阅 Servlet 和 JSP 的复制和故障转移使用代理访问群集的 Servlet 和 JSP

注意: 每个将请求代理到群集的 Web 服务器都必须具有配置相同的插件。

设置 HttpClusterServlet

要使用 HTTP 群集 Servlet,请按照下面步骤中的描述,将其配置为代理服务器计算机上的默认 Web 应用程序。有关 Web 应用程序的介绍,请参阅“为 WebLogic Server 开发 Web 应用程序”中的了解 Web 应用程序、Servlet 和 JSP

  1. 如果尚未执行此操作,则请配置一个单独的、非群集的受管服务器来承载 HTTP 群集 Servlet。
  2. 为该 Servlet 创建 web.xml 部署描述符文件。此文件必须位于该 Web 应用程序目录的 \WEB-INF 子目录中。示例 web.xml 中提供了代理 Servlet 的示例部署描述符。有关 web.xml 的详细信息,请参阅“开发 WebLogic Server 的 Web 应用程序、Servlet 和 JSP”中的了解 Web 应用程序、Servlet 和 JSP
    1. web.xml<servlet> 元素中为 Servlet 定义名称和类。该 Servlet 的名称为 HttpClusterServlet。Servlet 类为 weblogic.servlet.proxy.HttpClusterServlet
    2. 通过定义 WebLogicCluster 参数,在 web.xml<servlet> 元素中标识代理 Servlet 会将请求定向到的群集服务器实例。
    3. (可选)定义下列 <KeyStore> 初始化参数,以便通过您自己的标识证书和密钥使用双向 SSL。如果在部署描述符中不指定 <KeyStore>,该代理则采用单向 SSL。
      • <KeyStore> - Web 应用程序中的密钥库位置。
      • <KeyStoreType> - 密钥库类型。如果不定义,则使用默认类型。
      • <PrivateKeyAlias> - 私钥别名。
      • <KeyStorePasswordProperties> - Web 应用程序中定义用来访问密钥库和私密别名的加密密码的属性文件。该文件内容类似此内容:
        KeyStorePassword={3DES}i4+50LCKenQO8BBvlsXTrg\=\=
        PrivateKeyPassword={3DES}a4TcG4mtVVBRKtZwH3p7yA\=\=

        您必须使用 weblogic.security.Encrypt 命令行实用工具来对该密码进行加密。有关该 Encrypt 实用工具的详细信息,以及 CertGender2pem 实用工具的详细信息,请参阅“WebLogic Server 命令参考”中的使用 WebLogic Server Java 实用工具
    4. 创建 <servlet-mapping> 部分来指定 Servlet 会将其代理到群集的请求,使用 <url-pattern> 元素标识特定的文件扩展名,例如 *.jsp 或 *.html。在单独的 <servlet-mapping> 部分中定义每个模式。

      您可以将 <url-pattern> 设置为“/”,以便将 WebLogic Server 无法解析的任何请求都代理到远程服务器实例。如果进行了上述设置,则还必须专门映射下列扩展名:*.jsp*.html*.html,以便代理以这些扩展名结束的文件。有关示例,请参阅示例 web.xml

    5. 适当情况下定义任何附加参数。有关主要参数的列表,请参阅表 9-1。有关完整列表,请参阅“使用 WebLogic Server 的 Web 服务器插件”中的 Web 服务器插件的参数按照代理 Servlet 部署参数中的语法说明进行操作。
  3. 为 Servlet 创建 weblogic.xml 部署描述符文件。此文件必须位于 Web 应用程序目录的 \WEB-INF 子目录中。

    通过将 <weblogic-web-app> 部分中的 <context-root> 元素设置为正斜杠字符 (/),将该代理 Servlet 分配为代理计算机上受管服务器的默认 Web 应用程序。有关示例,请参阅示例 weblogic.xml

  4. 在管理控制台中,将该 Servlet 部署到代理服务器计算机上的受管服务器中。有关说明,请参阅“管理控制台联机帮助”中的部署新的 Web 应用程序
示例 web.xml

本部分包含了 HttpClusterServlet 的示例部署描述符文件 (web.xml)。

web.xml 定义指定代理 Servlet 位置和行为的参数:两个版本的 Servlet:

  • DOCTYPE 部分指定 WebLogic Server 用来验证 web.xml 的 DTD。
  • servlet 部分:
    • 指定代理插件 Servlet 类的位置。该文件位于 WL_HOME/server/lib 目录中的 weblogic.jar 中。您不必在 web.xml 中指定 Servlet 的完整路径,因为当您启动 WebLogic Server 时 weblogic.jar 已经放入了CLASSPATH。
    • 使用 WebLogicCluster 参数标识群集中每个受管服务器的主机名(DNS 名称或 IP 地址)和监听端口。
    • 标识将双向 SSL 用于您自己的标识证书和密钥的密钥库初始化参数。
  • 这三个 servlet-mapping 部分指定 Servlet 会将以“/”、“htm”、“html”或“jsp”结束的 URL 代理到群集。

有关参数定义,请参阅代理 Servlet 部署参数

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd";>

<web-app>

<servlet>
  <servlet-name>HttpClusterServlet</servlet-name>
    <servlet-class>
      weblogic.servlet.proxy.HttpClusterServlet
    </servlet-class>

  <init-param>
    <param-name>WebLogicCluster</param-name>
    <param-value>hostname1:7736|hostname2:7736|hostname:7736</param-value>
  </init-param>

  <init-param>
    <param-name>KeyStore</param-name>
    <param-value>/mykeystore</param-value>
  </init-param>

  <init-param>
    <param-name>KeyStoreType</param-name>
    <param-value>jks</param-value>
  </init-param>

  <init-param>
    <param-name>PrivateKeyAlias</param-name>
    <param-value>passalias</param-value>
  </init-param>

  <init-param>
    <param-name>KeyStorePasswordProperties</param-name>
    <param-value>mykeystore.properties</param-value>
  </init-param>

</servlet>

<servlet-mapping>
  <servlet-name>HttpClusterServlet</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

<servlet-mapping>
  <servlet-name>HttpClusterServlet</servlet-name>
  <url-pattern>*.jsp</url-pattern>
</servlet-mapping>

<servlet-mapping>
  <servlet-name>HttpClusterServlet</servlet-name>
  <url-pattern>*.htm</url-pattern>
</servlet-mapping>

<servlet-mapping>
  <servlet-name>HttpClusterServlet</servlet-name>
  <url-pattern>*.html</url-pattern>
</servlet-mapping>

</web-app>

示例 weblogic.xml

本部分包含一个示例 weblogic.xml 文件。<context-root> 部署参数设置为了“/”。这样会使得该代理 Servlet 成为代理服务器的默认 Web 应用程序。

<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 9.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic
810-web-jar.dtd">
  <weblogic-web-app>
    <context-root>/</context-root>
  </weblogic-web-app>

代理 Servlet 部署参数

web.xml 中用于配置代理 Servlet 行为的主要参数位于表 9-1 中。

代理 Servlet 的参数与用于为 Apache、Microsoft 和 Netscape Web 服务器配置 WebLogic Server 插件的参数相同。有关为第三方 Web 服务器配置代理 Servlet 和插件的参数完整列表,请参阅“使用 WebLogic Server 的 Web 服务器插件”中的 Web 服务器插件的参数

对于代理 Servlet 和每个插件,指定参数的语法以及在其中指定这些参数的文件都不同。

对于代理 Servlet,请在 web.xml 中指定这些参数,每个参数都位于 web.xml <servlet> 部分中它自己的 <init-param> 部分。例如:

<init-param>
<param-name>
ParameterName</param-name>
<param-value>
ParameterValue</param-value>
</init-param>

表 9-1 代理 Servlet 部署参数
参数
用法
WebLogicCluster
<init-param>
<param-name>WebLogicCluster</param-name>
<param-value>WLS1.com:
port|WLS2.com:port
</param-value>
其中 WLS1.comWLS2.com 为群集中服务器的主机名,port 为主机在其中监听 HTTP 请求的端口。
如果您在插件和 WebLogic Server 之间使用 SSL,请将端口号设置为 SSL 监听端口(请参阅“配置监听端口”)并将 SecureProxy 参数设置为 ON。
SecureProxy
<init-param>
<param-name>SecureProxy</param-name>
<param-value>
ParameterValue</param-value>
</init-param>
有效值为 ON 和 OFF。
如果您在插件和 WebLogic Server 之间使用 SSL,请将端口号设置为 SSL 监听端口(请参阅“配置监听端口”)并将 SecureProxy 参数设置为 ON。
DebugConfigInfo
<init-param>
<param-name>DebugConfigInfo</param-name>
<param-value>
ParameterValue</param-value>
</init-param>
有效值为 ON 和 OFF。
如果设置为 ON,通过将请求参数 ?__WebLogicBridgeConfig 添加到任何请求,可以查询 HttpClusterServlet 用于调试信息。(注意:在 ? 后面有两个下划线 ( _ ) 字符。)由于安全方面的原因,建议您在生产环境中将 DebugConfigInfo 参数设置为 OFF。
ConnectRetry
Secs
Servlet 在连接服务器实例的尝试之间要休眠的间隔(秒)。请分配一个小于 ConnectTimeoutSecs 的值。
Servlet 向客户端返回 HTTP 503/Service Unavailable 响应之前尝试连接的次数等于 ConnectTimeoutSecs 除以 ConnectRetrySecs
语法:
<init-param>
<param-name>ConnectRetrySecs</param-name>
<param-value>
ParameterValue</param-value>
</init-param>
ConnectTimeout
Secs
Servlet 尝试连接服务器实例的最长时间(秒)。请分配一个大于 ConnectRetrySecs 的值。
如果成功连接之前 ConnectTimeoutSecs 过期,则会向客户端发送 HTTP 503/Service Unavailable 响应。
语法:
<init-param>
<param-name>ConnectTimeoutSecs</param-name>
<param-value>
ParameterValue</param-value>
</init-param>
PathTrim
请求转发到群集之前,插件从原始 URL 开始剪切的字符串。
语法:
<init-param>
<param-name>PathTrim</param-name>
<param-value>
ParameterValue</param-value>
</init-param>
示例:
如果 URL
http://myWeb.server.com/weblogic/foo
传递到插件进行分析,并且 PathTrim 设置为了
/weblogic
转发给 WebLogic Server 的 URL 则为:
http://myWeb.server.com:7001/foo
分享到:
评论

相关推荐

    Weblogic 群集部署初级讲解

    Weblogic 集群部署初级讲解,通过一步一步操作方式的对Weblogic的集群部署进行详细的讲解。

    weblogic 群集部署与管理,性能调优

    WebLogic群集部署与管理是企业级应用的关键环节,它涉及到服务器的高可用性、负载均衡和性能优化。WebLogic是Oracle公司的一款基于Java EE的中间件产品,用于构建、部署和管理分布式Java应用程序。 **1. WebLogic...

    详细的WebLogic群集部署

    ### 详细的WebLogic群集部署知识点 #### 一、VP3 WebLogic 9.2部署手册 ##### 1.1 启动WebLogic - **启动步骤**:通过开始菜单中的“BEA Products”找到“User_Projects-users_domain”,然后运行“Start ...

    linux下配置weblogic群集步骤和启动不同被管服务器中的节点配置方法.doc

    linux下配置weblogic群集步骤和启动不同被管服务器中的节点配置方法.doc

    weblogic集群配置多服务器版

    ### WebLogic 集群配置详解 #### 一、WebLogic 集群基础概念 在深入了解如何配置 WebLogic 集群之前,首先需要掌握一些基本概念。 **1. Domain(域)** - **定义**:Domain 是 WebLogic Server 的基本管理单位,...

    weblogic8.1在linux多服务器做群集

    以下是关于“weblogic8.1在linux多服务器做群集”的详细步骤和知识点: 1. **集群概念**:集群是一种将多个独立服务器通过网络连接并协同工作的方式,它们共同对外提供服务,以实现负载均衡、故障转移和资源池化。 ...

    配置Weblogic8.1群集

    配置Weblogic8.1群集

    weblogic server 9.2群集配置

    WebLogic Server 9.2 群集配置是Oracle公司提供的中间件产品,用于构建高可用性和可伸缩性的企业级Java应用服务器平台。群集是WebLogic Server的一个关键特性,它允许多个服务器实例协同工作,以提高服务的稳定性和...

    linux下配置weblogic群集步骤和启动不同被管服务器中的节点配置方法.docx

    在Linux环境下配置WebLogic集群是一项关键的任务,它涉及到多个服务器实例的协同工作,以实现高可用性和负载均衡。WebLogic集群允许将应用的负载分散到多个服务器上,从而提高服务性能和容错能力。以下是一份详细的...

    Weblogic10群集文档.doc

    Weblogic10群集文档 Weblogic10群集文档是关于Weblogic Server集群配置的详细手册,本文档将指导读者如何配置Weblogic Server集群,包括 Domain 和 Server 的概念、集群架构、配置前的准备工作、Domain ...

    Weblogic+Server+9.2群集配置.rar

    WebLogic Server 9.2 群集配置详解 WebLogic Server 是 Oracle 公司提供的一个企业级 Java 应用服务器,它支持集群部署,能够提供高可用性、负载均衡和故障转移等关键功能。在 WebLogic Server 9.2 版本中,群集...

    weblogic集群扩充 服务器应用 - 群集服务 - weblogic集群扩充

    weblogic集群扩充 服务器应用 - 群集服务 - weblogic集群扩充weblogic集群详细的搭建步骤,绝对手把手的教你部署weblogic服务器以及集群的扩容.zip

    Weblogic加Apache的负载均衡以及群集配置

    - **weblogic.xml文件**:为支持会话复制,需要在应用程序的ear文件的meta-inf目录下创建或编辑weblogic.xml文件,设置`&lt;session-descriptor&gt;`,将`&lt;persistent-store-type&gt;`设为`replicated`,并将`...

    weblogic91群集通过apache实现负载均衡

    前台apache 后台 weblogic实现应用 weblogic91有开发版的license 对于中小型交易型网站的应用足够支撑了。

    Weblogic 安装与配置WIN

    Weblogic 在WINDOWS环境下安装步骤, WebLogic ...BEA WebLogic Server既实现了网页群集,也实现了EJB组件 群集,而且不需要任何专门的硬件或 操作系统支持。网页群集可以实现透明的复制、负载平衡以及表示内容容错。

    weblogic集群部署方案

    - **定义**: WebLogic Server 群集由多个 WebLogic Server 实例组成,这些实例同时运行并协作工作以提高系统的可扩展性和可靠性。 - **功能**: - 对于客户端而言,群集表现为单个 WebLogic Server 实例。 - 构成...

    BEA WebLogic Server8.1大全 源码

     管理WebLogic应用程序和使用群集服务。  使用WebLogic Workshop8.1开发WebLogic Server应用程序。 随书光盘包括:  本书讨论的所有源代码。  本书英文原书的电子版本。  BEA WebLogic Platform8.1开发者...

    Weblogic单服务器集群

    6. **配置群集信息**:切换显示,添加Cluster信息,指定Cluster的名称、策略等。 #### 七、注意事项 - 确保所有Server配置的一致性和兼容性,避免因版本差异引发的问题。 - 使用静态IP地址确保网络稳定性和可达性...

    weblogic搭建部署(双机)

    一个域包含一个或多个WebLogic Server实例,这些实例可以是群集实例、非群集实例,或者是群集与非群集实例的组合。一个域可以包含多个群集。域还包含部署在域中的应用程序组件、此域中的这些应用程序组件和服务器...

    Weblogic教程

    - **群集**:一组协同工作的服务器,用于提高性能和可用性。 **2.2 创建域** - **步骤1:开始新建WebLogic配置**: - 启动 Configuration Wizard,选择新建域。 - **步骤2:选择配置模板并指示Configuration ...

Global site tag (gtag.js) - Google Analytics