Sun Java Enterprise System 2005Q4 安装规划指南

安装规划问题

安装和配置过程的目标是实现部署体系结构中所述的分布式系统。分布式系统由多个组件实例组成,这些组件实例运行在多个计算机上,且彼此之间能够交互操作。要获得一个能够正常运行的分布式系统,必须将组件实例安装到多个计算机上并执行基本配置,以在各组件实例之间建立互操作性。

安装和配置的过程根据 Java ES 安装程序的行为及各个组件的要求来决定。为确保得到一个能够正常运行的分布式系统,您所制定的安装规划必须恰当地使用安装程序并要考虑到解决方案中使用的组件的要求。规划中必须描述安装组件实例及执行基本配置的正确顺序,还要必须指定用以将组件实例配置为交互操作的配置值。

本节介绍在制定安装规划时所必须考虑的主要问题。

分布式安装

Java ES 生产解决方案的服务质量要求需要采用将组件实例分布在多个计算机上的体系结构。例如,要获得可靠的消息传送服务,体系结构可能需要两台不同计算机上的两个 Messaging Server 实例,并使用负载平衡在这两个实例之间建立故障转移关系。

但 Java ES 安装程序一次只能在一台计算机上运行。因此,在安装分布式解决方案时,必须在解决方案中使用的每一台计算机上都运行该安装程序。

多数情况下,必须先在一台计算机上安装一个或多个组件,然后运行配置向导执行基本配置。通常,在一台计算机上完成安装和配置之后才能继续在其他计算机上安装和配置另外一组组件。要安装和配置分布式组件实例,可能要执行类似于图 3–1 中所示的一系列任务。

图 3–1 分布式安装过程示例

在计算机 01 上,安装 Messaging Server 和 Calendar Server,配置 Messaging Server,再配置 Calendar Server。在计算机 02 上重复此过程。

配置为交互操作

安装过程的目标是实现一个交互操作组件实例系统。在安装组件和执行基本配置时,需提供能够引起组件实例交互操作的配置值。

能够引起交互操作的配置值包括诸如 URL 或端口号的值(一个组件实例用来与其他组件实例进行通信)以及管理员帐户 ID 和密码的值(一个组件实例用来授予对其他组件实例的访问权)。例如,如果您的解决方案使用 Access Manager,则必须首先安装并配置一个 LDAP 系统信息库,如 Directory Server 实例。然后,在安装和配置 Access Manager 实例时,必须提供配置值,它们用于将您事先准备好的 LDAP 目录的位置告知给该实例。

Java ES 安装程序不知道解决方案中使用的其他计算机上安装了哪些组件。例如,在安装 Access Manager 时,安装程序并不知道相应 LDAP 目录的位置。为确保安装和配置过程成功完成,必须预先规划好在每一台计算机上安装哪些组件。向解决方案添加组件时,将其配置为能够与其他计算机上已安装的组件交互操作。

您可能要执行类似于图 3–2 中所示的一系列安装和配置任务。

图 3–2 将组件配置为交互操作

计算机 01:Directory Server。计算机 02:安装 Access Manager 并将其配置为能够与计算机 01 上的 Directory Server 实例交互操作。

无论您的解决方案的体系结构如何,所制定的安装规划必须包括配置各个组件所需的所有配置值,并最终形成一个交互操作的分布式解决方案。

组件依赖性

有些 Java ES 组件只有在安装并配置其他组件之后才能进行安装和配置。发生依赖性的原因有以下几点:

注意,在这些依赖性中,有些是解决方案范围的,有些则是本地的。在制定安装规划时,要对系统范围的依赖性和本地依赖性分别加以考虑。以下示例介绍了它们之间的不同:

Access Manager 对 Directory Server 的依赖性是系统范围的依赖性。安装 Access Manager 时,需要给出由 Directory Server 的一个或多个实例所提供的目录服务的 URL。一旦 Directory Server 安装和配置完毕,目录服务便可用于解决方案中的所有组件。这种依赖性决定解决方案范围的安装和配置组件实例的顺序:在 Access Manager 之前安装和配置 Directory Server。在安装规划中,解决方案范围的依赖性决定整个安装和配置步骤的顺序。

Access Manager 对 Web 容器的依赖性是本地依赖性。要满足这一依赖性,必须在运行 Access Manager 的计算机上安装 Web 容器。但此 Web 容器并不为整个解决方案提供服务。在分布式解决方案中,通常会在多个计算机上安装 Web 容器。每个 Web 容器都在本地支持一个不同的组件。因此,在分布式解决方案中,不是只有一个位置用于 Web 容器安装,在安装顺序中也不是只有一处用于安装 Web 容器。

要为一个解决方案制定安装规划,需要对描述解决方案的部署体系结构进行分析,然后确定组件之间的依赖性。您的规划必须以满足所有依赖性的顺序来安装和配置组件。总之,先根据解决方案范围的依赖性来制定整个安装顺序。然后考虑各个计算机上可能存在的本地依赖性。

组件依赖性列在表 3–1 中。有关使用这些依赖性的更多信息,参见制定安装规划中对各个组件的描述。

表 3–1 Java ES 组件依赖性

产品组件

依赖性 

依赖性实质 

是否必须为本地? 

Access Manager

Directory Server 

存储配置数据;存储用户数据并启用对用户数据的查找 

否 

 

J2EE Web 容器,以下产品之一: 

-Application Server; 

-Web Server 

-BEA WebLogic Server 

-IBM WebSphere Application Server 

必须将 Access Manager 部署到这些 Web 容器之一 

是 

Access Manager SDK

Access Manager 

提供 Access Manager 服务 

否 

 

J2EE Web 容器,以下产品之一: 

-Application Server; 

-Web Server 

-BEA WebLogic Server 

-IBM WebSphere Application Server 

必须将 Access Manager SDK 部署到这些 Web 容器之一 

是 

Administration Server

Directory Server 

提供配置目录 

否 

Application Server

Message Queue

提供可靠的异步消息传送 

是 

 

Web Server(可选)

在各 Application Server 实例间提供负载平衡 

是 

 

High Availability Session Store(可选)

存储会话状态,它支持 Application Server 实例之间的故障转移 

是 

Calendar Server

Directory Server

存储用于验证和授权的用户数据 

否 

 

Directory Preparation Tool

准备 LDAP 目录以与 Calendar Server 一起使用 

否 

 

Access Manager(可选)

解决方案使用单点登录时为必需 

否 

 

Messaging Server(可选)

提供电子邮件通知 

否 

 

Delegated Administrator(可选)

管理 LDAP 模式;置备日历服务的用户 

否 

Communications Express

J2EE Web 容器,以下产品之一:

-Application Server; 

-Web Server 

必须将 Communications Express 部署到 Web 容器中 

是 

 

Directory Server

存储用户数据,如通讯录 

否 

 

Directory Preparation Tool

为 Communications Express 准备 LDAP 目录 

否 

 

Access Manager 或 Access Manager SDK

提供验证和授权服务以及单点登录;本地 Access Manager SDK 提供对远程 Access Manager 的访问 

是 

 

Messaging Server

提供底层消息传送服务 

否 

 

Calendar Server

提供底层日历服务 

否 

Delegated Administrator

J2EE Web 容器,以下产品之一: 

-Application Server; 

-Web Server 

必须将 Delegated Administrator 部署到这些 Web 容器之一 

是 

 

Directory Server 

存储 Delegated Administrator 将使用的 LDAP 数据 

否 

 

Directory Preparation Tool 

为 Delegated Administrator 准备 LDAP 目录 

否 

 

Access Manager 或 Access Manager SDK 

提供 Access Manager 服务;本地 Access Manager SDK 提供对远程 Access Manager 的访问 

是 

Directory Preparation Tool

Directory Server 

Directory Preparation Tool 准备目录以与 Java ES 通信组件一起使用 

是 

Directory Proxy Server

Administration Server 

配置 Directory Proxy Server 

否 

 

Directory Server 

提供底层 LDAP 目录服务 

否 

Directory Server

Administration Server 

配置 Directory Server 

否 

High Availability Session Store 

无 

   

Instant Messaging

Directory Server 

存储用户、会议室和新闻频道的数据 

否 

 

Access Manager 或 Access Manager SDK(可选) 

提供 Access Manager 服务;本地 Access Manager SDK 提供对远程 Access Manager 的访问 

是 

 

J2EE Web 容器,以下产品之一: 

-Application Server; 

-Web Server(传送 Instant Messenger 客户机资源时为必需) 

支持 Instant Messenger 客户机资源的分发和下载。 

是 

 

Calendar Server(使用日历弹出功能时为可选) 

支持 Calendar Server 弹出功能 

否 

 

Messaging Server(使用脱机传送即时消息时为可选) 

支持如同传送电子邮件消息那样脱机传送即时消息 

否 

Message Queue 

无 

   

Messaging Server

Directory Server 

存储配置数据;存储和查找用于验证和授权的用户数据 

否 

 

Administration Server 

在 Directory Server 配置目录中存储配置数据 

是 

 

Directory Preparation Tool 

为 Messaging Server 准备 LDAP 目录 

否 

 

Access Manager(如果您的解决方案使用单点登录) 

提供单点登录验证和授权服务 

否 

 

Delegated Administrator(可选) 

管理用户和组数据;管理目录模式 

否 

Portal Server

J2EE Web 容器,以下产品之一:

-Application Server; 

-Web Server 

-BEA WebLogic Server 

-IBM WebSphere Application Server 

必须将 Portal Server 部署到这些 Web 容器之一 

是 

 

Directory Server 

存储用于验证和授权的用户数据 

否 

 

Access Manager 或 Access Manager SDK 

提供 Access Manager 服务;本地 Access Manager SDK 提供对远程 Access Manager 的访问 

是 

 

Communications Express 

为门户桌面提供消息传送频道和日历频道 

否 

Portal Server Secure Remote Access

Portal Server 

提供底层门户服务。 

是 

 

Access Manager 或 Access Manager SDK 

提供 Access Manager 服务;本地 Access Manager SDK 提供对远程 Access Manager 的访问 

是 

Service Registry 

Application Server 

 

是 

Sun Cluster 软件 

无 

   

Sun Cluster 代理

Sun Cluster 

识别 Sun Cluster 节点上安装的组件 

是 

Web Proxy Server

Web Server 

提供对 Web 应用程序的远程访问 

是 

Web Server 

无 

   

冗余策略

大多数为生产方面所使用的解决方案都包括某一类型的冗余。冗余策略将使用一个组件的多个实例来提供单一服务。使用冗余的目的是满足服务质量要求。例如,使用冗余来增加吞吐量从而满足性能要求,或者使用冗余来避免出现单一故障点从而满足可靠性要求。

在使用 Java ES 组件的冗余实例时提供了三种策略:负载平衡、与 Sun Cluster 软件群集以及 Directory Server 多主复制。以下几段简要概述了针对每一种策略所建议的安装和配置过程:

如果您的部署体系结构使用上述任一冗余策略,您必须制定一个规划,以便安装一个组件的多个实例并将这些实例配置成作为单一服务运行。

分布式子组件

一些 Instant Messaging 组件具有可单独进行安装和配置的子组件。例如,Messaging Server 有四个子组件,Message Transfer Agent、Message Multiplexor (MMP)、Messenger Express Multiplexor (MEM) 和 Message Store。部署体系结构可将这些子组件置于单独的计算机系统中,以满足服务质量要求。 例如,在图 2–1 的样例体系结构中,MEM 的实例置于计算机系统 CX1 和 CX2 上,出站 Message Transfer Agent 置于计算机系统 MTA1 和 MTA2 上,入站 Message Transfer Agent 置于计算机系统 MTA3 和 MTA4 上,MMP 置于计算机系统 MMP1 和 MMP2,以及 Message Store 置于计算机系统 STR1 和 STR2 上。

表 3–2 列出了其子组件可单独安装的 Java ES 组件。分析适合您解决方案的部署体系结构,确定其是否要使用分布式子组件。如果您的解决方案使用分布式子组件,则需要制定一个规划,以在正确的计算机系统上以正确的顺序安装这些子组件,并配置这些子组件以能够交互操作。有关配置分布式子组件的更多信息,参见制定安装规划中对各组件的说明。

表 3–2 包含子组件的组件

组件 

子组件 

Instant Messaging

Instant Messaging Multiplexor 

Instant Messaging Resources 

Instant Messaging Server 

Messaging Server

Message Transfer Agent (MTA) 

Message Store 

Messaging Multiplexor (MMP) 

Messenger Express Multiplexor (MEM) 

子组件可单独安装。如果您的部署体系结构需要分布式子组件,请在每台计算机上都运行安装程序并选择在体系结构中规定的子组件。安装程序或配置向导要求的输入值是整个组件的值的一个子集。 对于不是由安装程序配置的组件,请启动配置向导,选择要在该计算机上配置的子组件并提供配置向导所需的输入值。

LDAP 模式和 LDAP 目录树结构

大多数 Java ES 解决方案都包括 Directory Server。安装和配置解决方案时需要提供输入值,以建立目录模式及目录树结构。在您的安装规划中,必须列出产生正确的 LDAP 模式和目录树结构的输入值。

LDAP 模式和目录树结构在开始进行安装规划之前指定。有关规范的示例,参见制定用户管理规范

LDAP 模式通过以下安装和配置过程来建立:

  1. 安装 Directory Server 时会自动建立模式 1 的目录。选择该模式无需任何输入。

  2. 安装 Access Manager 时会自动修改该目录,将其转换为模式 2。选择该模式无需任何输入。

  3. 运行 Directory Preparation Tool 可扩展模式,以便与 Messaging Server、Calendar Server 和 Communications Express 一起使用。Directory Preparation Tool 可扩展模式 1 目录和模式 2 目录二者。Directory Preparation Tool 的输入值列在您的安装规划中。

  4. 运行 Delegated Administrator 可扩展模式,通过一些用于进行用户授权与验证的对象类和属性来实现特定服务。输入值取决于解决方案要提供的服务。这些输入值列在您的安装规划中。有关输入值的更多信息,参见将 Delegated Administrator 的过程添加到您的安装规划中

安装和配置过程还会建立基本的目录树结构:

  1. 安装 Directory Server 将创建基本后缀(或目录树的根)。在 Java ES 安装程序安装 Directory Server 时,基本后缀是一个必需的输入值。您的安装规划应将基本后缀列为安装过程的输入值之一。

  2. 安装和配置 Messaging Server 将使目录树分支并创建一个 LDAP 组织。此组织代表由 Messaging Server 实例管理的电子邮件域。 组织的名称是 Messaging Server 配置向导所要求的一个输入项。您的安装规划应将组织的 DN 列为 Messaging Server 配置过程的输入值之一。

  3. 安装和配置 Calendar Server、Communications Express、Delegated Administrator 和 Instant Messaging 时指定这些组件应在目录中的什么位置查找用户数据。LDAP DN 是每个组件配置向导都要求的输入项,因此在您的安装规划中,应将该 DN 列为每个配置向导的一个输入值。如果解决方案使用 Access Manager 单点登录,必须配置所有这些组件都使用同一位置查找用户数据,即 Messaging Server 配置向导创建的组织。在所有这些配置向导中将输入相同的 LDAP DN。您的安装规划应将该组织 DN 列为所有这些配置向导的一个输入值。

LDAP 基本后缀和电子邮件域组织的名称通过用户管理规范获取并添加到安装规划中。有关用户管理规范的更多信息,参见制定用户管理规范。有关将 LDAP 基本后缀添加到安装规划中的更多信息,参见表 3–5。有关将电子邮件域组织添加到安装规划中的更多信息,参见表 3–9表 3–10表 3–11表 3–13表 3–14

Java ES 安装程序行为

本节介绍 Java ES 安装程序的一些会影响安装规划的行为。

安装程序是本地的

Java ES 安装程序每次在一台计算机上安装组件软件。就大多数解决方案而言,这意味着安装程序要运行一次以上。在安装规划中必须指出要运行安装程序多少次。本节介绍应如何分析部署体系结构并确定安装程序要运行多少次以安装和配置解决方案。

少数解决方案将仅在一台计算机上安装,并且这些解决方案的安装规划会提供一些过程,说明应运行安装程序仅一次。以下解决方案仅需运行安装程序一次:

大多数解决方案需要分布在若干计算机上。在这些解决方案的安装规划中必须说明:需要运行安装程序多次才能安装和配置完整的解决方案。要分析这些解决方案,请遵守以下指导原则:

本节的目的在于引入一个概念,即在安装规划中有时必须说明是在一台计算机上运行安装程序和配置向导,还是在一台计算机上运行安装程序多次。有关各种组件组合的实际安装过程的更多信息,参见制定安装规划

安装程序操作模式

安装程序以两种不同的模式运行,我们称为“现在配置”和“以后再配置”。这两个模式有以下区别:

选定的配置选项适用于整个安装会话。如果需要为某些组件选择不同的配置选项,则可能需要另外运行其他安装会话。

安装程序的兼容性检查

安装程序会执行一些依赖性和兼容性检查。仅能够检查本地安装的内容。例如,如果您的解决方案要使用远程 Directory Server 实例,则安装程序不能检查该远程 Directory Server 与您当前要安装的 Access Manager 是否兼容。如果您正在安装和配置一个全新的解决方案,在您要将新组件添加到一个已建立的解决方案中或者要围绕现有组件来构建一个 Sun Java System 时,这可能会是个问题。例如,如果您已经使用 Directory Server,而又要使用 Access Manager、Messaging Server、Calendar Server 和 Communications Express 围绕现有的 Directory Server 建立一个解决方案,则这些组件之间的兼容性就成了问题。

其他安装问题

本节列出了在一些解决方案中出现的许多具体问题,同时还提供了有关详细信息的参考。

表 3–3 需要考虑的安装问题

解决方案要求 

指导或说明 

使用 Solaris 10 区 

如果您要安装到 Solaris 10 区中,参见《Sun Java Enterprise System 2005Q4 安装指南》中的“Solaris 10 区域”

使用 Directory Server 加密 

在 Directory Server 实例上配置 LDAPS(SSL over LDAP,基于 LDAP 的 SSL)  

注:如果要求 Directory Server 加密,则必须在安装 Directory Server 时安装 Administration Server。 

对 Access Manager 使用第三方 Web 容器

第三方 Web 容器(BEA WebLogic Server 或 IBM WebSphere Application Server)可以和 Portal Server 及 Access Manager 配合使用。必须首先安装和运行这些容器,然后才能安装任何依赖于这些容器的 Java ES 组件。

要对 Access Manager SDK 使用第三方 Web 容器,必须在安装后手动配置 Access Manager SDK。参见《Sun Java Enterprise System 2005Q4 安装指南》中的“具有容器配置的 Access Manager SDK 示例”

注:Portal Server 只能在 Solaris OS 上使用第三方 Web 容器。 

注:Access Manager 和 Portal Server 应使用相同的 Web 容器。 

Apache Web Server 用于负载平衡插件

Apache Web Server 可与 Application Server 负载平衡插件配合使用。在这种情况下,必须首先安装和配置 Apache Web Server,然后才能安装任何依赖于它的 Java ES 组件。有关更多信息,参阅《Sun Java Enterprise System 2005Q4 安装指南》中的“安装先决条件”

使用模式 1 LDAP

《Sun Java Enterprise System 2005Q4 安装指南》中的“Calendar-Messaging 模式 1 示例”中介绍了一个基于 LDAP 模式 1 的安装示例。对于模式 1 部署,不能使用 Access Manager。

配置单个用户条目和单点登录

有关设置单点登录的过程,可在《Sun Java Enterprise System 2005Q1 部署示例系列:评估方案》中的第 8  章 “配置和使用单点登录”中找到。对于单点登录,Access Manager 是必需的。

使用 HADB 配置高可用性 

《Sun Java Enterprise System 2005Q4 安装指南》中的“Web 和应用程序服务示例”中,包含一个设置 HADB 以实现高可用性的示例。

Application Server 负载平衡 

《Sun Java Enterprise System 2005Q4 安装指南》中的“Web 和应用程序服务示例”中,包含一个使用 Application Server 负载平衡插件的示例。

非超级用户所有权 

如果 Application Server 或 Web Server 要求非超级用户所有权,参阅以下示例之一:

《Sun Java Enterprise System 2005Q4 安装指南》中的“配置为以非超级用户身份运行的 Access Manager 示例”,或

《Sun Java Enterprise System 2005Q4 安装指南》中的“在非超级用户所属的 Web Server 或 Application Server 实例中部署 Portal Server 的示例”