安裝及配置程序的目標是部署架構中描寫的分散式系統。分散式系統由元件實例組成,它們在多台電腦上執行,而且可以進行交互操作。若要獲得運作正常的分散式系統,必須在多台電腦上安裝元件實例,並執行基本配置,以便在元件實例之間建立互通性。
安裝及配置的程序由 Java ES 安裝程式的運作方式及個別元件的需求決定。為確保可獲得運作正常的分散式系統,必須開發一個安裝規劃,以適當地使用安裝程式並充分考慮到解決方案中所使用元件的需求。這個規劃必須說明安裝每個元件實例與執行基本配置的正確順序。這個規劃還必須指定用來配置元件實例使其互通的配置值。
本節說明開發安裝規劃時必須考慮的主要問題。
Java ES 生產解決方案的服務品質需求會要求我們採用在多台電腦上部署元件實例的架構。例如,若要獲得可靠的入口網站服務,此架構可能需要兩個 Portal Server 實例分別位於兩台不同的電腦上,並運用負載平衡技術在這兩個實例之間建立容錯移轉關係。
但是 Java ES 安裝程式一次只能在一台電腦上操作。因此,當您安裝分散式解決方案時,必須在該解決方案中使用的每一台電腦上執行安裝程式。
在許多情況下,您必須在一台電腦上安裝一或多個元件,然後執行配置精靈來執行基本配置。您通常會先在一台電腦上完成安裝及配置,再到另一台電腦上安裝及配置另一組元件。若要安裝及配置分散式元件實例,必須執行類似於圖 3–1 中描寫的一系列作業。
除非先安裝並配置好其他元件,否則無法安裝或配置某些 Java ES 元件。相依性的起因有很多:
有些元件除非其他特定的元件已安裝並配置好,否則無法運作。例如,Access Manager 必須擁有對 LDAP 目錄所提供之使用者與服務相關資訊的存取權,才能適當作業。Access Manager 的安裝與配置程序會要求您輸入 URL,這些 URL 能夠讓 Access Manager 與已在運作中的目錄服務互通。因為這項相依性,在您安裝及配置 Access Manager 前,必須先安裝及配置 Directory Server。
有些元件會修改現有元件的配置。例如,安裝及配置 Access Manager 會修改 LDAP 目錄模式。若您的解決方案使用 Access Manager,則安裝規劃必須指明先安裝及配置 LDAP 目錄,再安裝 Access Manager。
許多 Java ES 元件是 Web 應用程式。這些元件必須部署到 Web 容器才能運作。您必須規劃安裝 Web 容器,並在安裝及配置 Web 應用程式元件前將它啟動。您可以使用 Web Server、Application Server 或協力廠商的 Web 容器,但必須規劃好,在您安裝 Web 應用程式元件時電腦上有 Web 容器。
如果解決方案使用 Web Server 或 Application Server,則 Java ES 安裝程式可以同時安裝 Web 容器及 Web 應用程式元件,並自動將 Web 應用程式元件部署到 Web 容器。
您的架構可能會要求元件安裝於 Sun Cluster 軟體所提供的高可用性叢集。必須先安裝及執行 Sun Cluster 軟體,再安裝及配置其他元件。此外,還必須安裝及配置其他元件的 Sun Cluster 代理程式。
請注意其中有些相依性適用於整個解決方案,有些則僅適用於本機。當您開發安裝規劃時,要考慮到整個解決方案的相依性及本機相依性之間的不同之處。下面的範例將說明其差異:
Access Manager 對於 Directory Server 的相依性是整個解決方案的相依性。當您安裝 Access Manager 時,會提供由一或多個 Directory Server 實例提供之目錄服務的 URL。Directory Server 一經安裝及配置,就會提供解決方案中的所有元件都能使用的目錄服務。這種相依性,會決定整個解決方案安裝與配置元件實例的順序 (在安裝及配置 Access Manager 前,必須先安裝及配置 Directory Server)。在安裝規劃中,整個解決方案的相依性決定了安裝及配置步驟的整體順序。您可先規劃安裝 Directory Server,然後視目錄服務而定,增加像是 Access Manager 這樣的元件。
Access Manager 對於 Web 容器的相依性是本機相依性。若要符合這種相依性,必須在執行 Access Manager 的電腦上安裝 Web 容器。但是,這個 Web 容器不會為整個解決方案提供 Web 容器服務。若您的分散式架構指定分別在不同的電腦上安裝 Portal Server 與 Access Manager,則您必須規劃在這兩台電腦上都安裝 Web 容器。每一個 Web 容器都在本機中支援不同的元件。因此,在分散式解決方案中,沒有讓 Web 容器為整個解決方案提供服務的單一位置,且您必須規劃,在整個安裝順序中,多次安裝 Web 容器。
若要開發解決方案的安裝規劃,請先分析描述解決方案的部署架構,並識別元件之間的相依性。您的規劃必須按照符合所有相依性的順序來安裝及配置元件。一般來說,您會依據整個系統的相依性來開發整體安裝順序。接著,您會考慮每一台電腦上可能存在的本機相依性。
表 3–1 列出了元件相依性。如需處理這些相依性的更多資訊,請參閱開發安裝規劃中個別元件的說明。
表 3–1 Java ES 元件相依性
相依性 |
相依性的本質 |
必須位於本機? |
|
---|---|---|---|
Directory Server |
要儲存配置資料;要儲存並啟用對使用者資料的查找功能 |
否 |
|
J2EE Web 容器,以下之一: -Application Server -Web Server -BEA WebLogic Server -IBM WebSphere Application Server |
必須將 Access Manager 部署到其中一個 Web 容器上 |
是 |
|
Access Manager |
要提供基礎 Access Manager 服務 |
否 |
|
J2EE Web 容器,以下之一: -Application Server -Web Server -BEA WebLogic Server -IBM WebSphere Application Server |
必須將 Access Manager SDK 部署到其中一個 Web 容器上 |
是 |
|
Access Manager Distributed Authentication |
Access Manager |
要提供基礎 Access Manager 服務 |
否 |
J2EE Web 容器,以下之一: -Application Server -Web Server -BEA WebLogic Server -IBM WebSphere Application Server |
必須將 Access Manager SDK 部署到其中一個 Web 容器上 |
是 |
|
Access Manager Session Failover |
Access Manager |
要提供基礎 Access Manager 服務 |
否 |
Message Queue |
要提供可靠的非同步郵件傳送功能 |
否 |
|
要提供可靠的非同步郵件傳送功能 |
是 |
||
要在 Application Server 實例之間提供負載平衡 |
是 |
||
要儲存階段作業狀態,以在 Application Server 實例之間支援容錯移轉 |
是 |
||
Directory Server |
要提供基礎 LDAP 目錄服務 |
否 |
|
無 | |||
高可用性階段作業儲存區 |
無 | ||
Java DB |
無 | ||
Message Queue |
Directory Server (可選擇) |
要儲存受管理物件與永久郵件 |
否 |
-Application Server -Web Server |
要支援用戶端與 Message Broker 間的 HTTP 傳輸 |
否 |
|
Sun Cluster (可選擇) |
要支援在高可用性解決方案中使用 Message Queue |
否 |
|
-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 |
是 |
|
Service Registry Client |
要提供編譯所需的程式庫 |
否 |
|
Portal Server |
要提供基礎入口網站服務。 |
否 |
|
可以是 Access Manager 或 Access Manager SDK |
要提供 Access Manager 服務;透過本機 Access Manager SDK 可存取遠端 Access Manager |
是 |
|
Rewriter Proxy |
Portal Server |
要提供基礎入口網站服務。 |
否 |
Netlet Proxy |
Portal Server |
要提供基礎入口網站服務。 |
否 |
Service Registry |
Application Server |
要提供必要的容器服務。 |
是 |
Service Registry Client |
要提供必要的用戶端介面 |
是 |
|
Service Registry Client |
無 | ||
Sun Cluster 軟體 |
無 | ||
Sun Cluster |
要提供基礎叢集服務 |
是 |
|
Sun Cluster Geographic Edition |
Sun Cluster |
要提供基礎叢集服務 |
是 |
Web Server |
要提供對 Web Server 上所執行之 Web 應用程式的遠端存取權 |
是 |
|
Directory Server (可選擇) |
要儲存用來認證及授權的使用者資料 |
否 |
|
Web Server |
Directory Server (可選擇) |
要儲存用來認證及授權的使用者資料 |
否 |
安裝與配置程序的目標是建立一個元件實例可以互通的系統。由於您同時在一台電腦上安裝元件與執行基本配置,因此必須事先決定配置值,用以實現與其他電腦上的元件成功互通。
引發互通的配置值包含像是 URL 或元件實例用來與其他元件實例通訊的連接埠號。例如,如果您的解決方案使用 Access Manager,必須先安裝及配置 LDAP 儲存庫,例如 Directory Server 實例。然後,當您安裝與配置 Access Manager 實例時,必須提供一些值,這些值會將 Access Manager 配置為與已安裝及配置的 LDAP 目錄互通。
Java ES 安裝程式不知道在解決方案中使用的其他電腦上安裝了哪些元件。例如,安裝 Access Manager 時,安裝程式不知道適當的 LDAP 目錄的位置。若要確保成功安裝與配置,您必須事先決定可讓 Access Manager 實例與 Directory Server 實例成功互通的安裝與配置值。將這些值包含在安裝規劃中。然後,當您安裝與配置元件時,可在規劃中輸入這些值,便可成功配置元件以實現彼此互通。
您可以執行類似於圖 3–2 中描寫的一系列安裝及配置作業。
無論解決方案的架構為何,您都必須開發一個安裝規劃,此規劃應包括配置元件以實現可互通的分散式解決方案所需的所有配置值。
大部份用來生產的解決方案都包括某種類型的備援。備援策略使用元件的多個實例來提供單一服務。使用備援可以符合服務品質需求。例如,使用備援來提高處理能力以符合效能需求,或避免單點失敗以符合可靠性需求。
使用 Java ES 元件的備援實例有三個策略可用。負載平衡、與 Sun Cluster 軟體形成叢集以及 Directory Server 複製。以下幾段會簡述為每一個策略建議的安裝及配置程序︰
負載平衡可以實作於硬體或軟體。設定負載平衡的最佳方式是安裝及配置一個具有負載平衡功能的元件實例,然後測試可以透過負載平衡器提供第一個實例所提供的服務。驗證服務可用後,再安裝及配置部署架構所需的其他元件實例。這種分階段來安裝及配置的方法可以促使疑難排解配置問題更加順利。
叢集設定要分多個步驟實作。第一步是安裝 Sun Cluster 軟體及建立與配置叢集。下一步是安裝叢集中執行的元件。例如,圖 2–1 中顯示之實作叢集的第一步是在電腦 STR1 及 STR2 上安裝 Sun Cluster 軟體,並建立和配置叢集。第二步是安裝及配置 Messaging Server 與 Calendar Server。第三步 (最後一步) 是安裝及配置 Messaging Server 與 Calendar Server 的 Sun Cluster 資料服務。配置好 Sun Cluster 資料服務後,叢集節點就能識別 Messaging Server 及 Calendar Server 實例。
Directory Server 複製也要分成幾個步驟來實作。例如,當實作多個主伺服器複製時,第一步是安裝、配置與驗證所有 Directory Server 實例。第二步是關閉所有 Directory Server 實例,只留一個實例。第三步是安裝及配置解決方案中的其他元件。對模式或目錄結構所做的任何變更都會針對唯一還在執行的 Directory Server 實例。當安裝、配置及驗證解決方案中的所有元件實例之後,最後一步是重新啟動 Directory Server 的其他實例,並使用複製功能來配置同步化及容錯移轉功能。這會將修改及更新過的目錄資料複製到所有 Directory Server 實例。
當您的部署架構使用其中任何一個備援策略時,您的安裝規劃必須包含安裝元件多個實例的程序,以及將這些實例配置成做為單項服務運作的程序。
大部份的 Java ES 解決方案都包括 Directory Server。當您在 Directory Server 中安裝與配置解決方案時,您要輸入用於建立目錄模式與目錄樹狀結構的值。安裝規劃必須列出可建立正確 LDAP 模式與目錄樹狀結構的輸入值。
在開始進行安裝規劃前,要先指定 LDAP 模式與目錄樹狀結構。您的安裝規劃要包含執行安裝程式以建立特定模式與目錄樹狀結構時要輸入的值。如需有關模式與目錄樹狀結構規格的範例,請參閱開發使用者管理規格。
下列安裝及配置程序會建立 LDAP 模式︰
在包含 Communications Suite 元件的解決方案中,執行 Directory Preparation Tool 會延伸模式,以搭配 Messaging Server、Calendar Server 及 Communications Express 一起使用。Directory Preparation Tool 會延伸 Schema 1 及 Schema 2 目錄。Directory Preparation Tool 的輸入值會列在安裝規劃中。
在包含 Communications Suite 元件的解決方案中,執行 Delegated Administrator 會以用於向使用者授權與認證特定服務的物件類別與屬性,來延伸模式。輸入值視您的解決方案提供的服務而定。您要在安裝規劃中列出輸入值。
安裝及配置程序也會建立基本目錄樹狀結構︰
安裝 Directory Server 會建立基底尾碼或目錄樹的根。當 Java ES 安裝程式安裝 Directory Server 時,基底尾碼是必需的輸入值。在您的安裝規劃中,要將基底尾碼做為安裝程序的輸入值之一列出。
安裝及配置 Messaging Server 會建立目錄樹的分支並建立 LDAP 組織。這個組織代表由 Messaging Server 實例管理的電子郵件網域。組織名稱是 Messaging Server 配置精靈必需的輸入值。在您的安裝規劃中,要將組織 DN 做為 Messaging Server 配置程序的輸入值之一列出。
安裝及配置 Calendar Server、Communications Express、 Delegated Administrator 及 Instant Messaging 會指定這些元件要在其中查找使用者資料的目錄。LDAP DN 是每個元件配置精靈必需的輸入值,而安裝規劃會將 DN 列為每個配置精靈的輸入值。如果解決方案使用 Access Manager 單次登入功能,則必須配置所有元件以使用相同的位置來尋找使用者資料,也就是 Messaging Server 配置精靈建立的組織。所有配置精靈必須使用相同的 LDAP DN 做為輸入值。在您的安裝規劃中,要將組織 DN 做為所有配置精靈的輸入值之一列出。
您從使用者管理規格中取得 LDAP 基底尾碼及電子郵件網域組織的名稱,並將它們加入安裝規劃。如需使用者管理規格的更多資訊,請參閱開發使用者管理規格。
本節說明 Java ES 安裝程式會影響安裝規劃的一些運作方式。
Java ES 安裝程式一次在一台電腦上安裝元件軟體。大部份的解決方案都已分佈,且您必須再多執行幾次安裝程式。您的安裝規劃必須包含每次執行安裝程式的程序。本節說明如何分析部署架構,以及如何決定執行安裝程式以實作架構的必要次數。
有些解決方案僅安裝在一台電腦上,而這些解決方案的安裝規劃會提供只執行一次安裝程式的程序。只需要執行一次安裝程式的解決方案如下所示:
將許多元件安裝在一台電腦上,以評估 Java ES 的功能。
將一個元件實例加入已建立的解決方案。這包括新增對現有元件具有相依性的元件實例。
大部份的解決方案都會分散在數台電腦之間。這些解決方案的安裝規劃必須說明應執行多次安裝程式,以安裝及配置完整的解決方案。若要分析這些解決方案,請遵循下列指導:
在大部份的情況下,當在一台電腦上合併幾個元件時,僅會執行一次安裝程式。當安裝程式以 [立即配置] 模式執行時尤為如此,因為在 [立即配置] 模式中,安裝程式可以同時安裝 Web 容器及在 Web 容器中執行的元件。在這些情況下,您的安裝規劃要描述在電腦上執行一次安裝程式,並選取針對該電腦指定的所有元件。
某些元件無法由安裝程式配置,即使是以 [立即配置] 模式進行也不行。在電腦上安裝這些元件時,配置程序是藉由執行每一個元件的配置精靈來完成的。當這些元件與由安裝程式配置的其他元件一起安裝時,首先要執行安裝程式。在執行安裝程式後,會藉由對安裝程式未配置之元件執行配置精靈來完成程序。在這些情況下,您的安裝規劃必須描述執行安裝程式,並描述執行配置精靈的正確順序。
有些元件組合只能藉由在電腦上執行多次安裝程式來安裝。這些組合包括:
某些包括 Web 容器的元件組合。如果是以 [以後配置] 模式來安裝 Web Server 或 Application Server,則必須先配置 Web Server 或 Application Server 實例,然後才能安裝將要在 Web 容器中執行的任何其他元件。如果您的解決方案使用的是協力廠商 Web 容器,您必須先安裝、啟動並驗證 Web 容器,然後才能安裝基於 Web 的 Java ES 元件。您的安裝規劃必須包含要在每一台電腦上執行多次安裝程式的程序。
使用 Sun Cluster 軟體的元件組合。如果要在叢集檔案系統中安裝要安裝到叢集的元件,則必須先安裝 Sun Cluster 軟體並建立叢集檔案系統,再到叢集節點中安裝其他元件。您的安裝規劃必須包含要在每一台電腦上執行多次安裝程式的程序。
本節的目的在於讓讀者了解安裝規劃有時必須說明要在一台電腦上執行安裝程式及配置精靈或在一台電腦上執行多次安裝程式。如需不同元件組合的實際安裝程序的更多資訊,請參閱開發安裝規劃。
安裝程式可在兩種不同的模式中執行,稱為 [立即配置] 及 [以後配置] 模式。這兩種模式的差異之處如下所示:
在 [立即配置] 模式中,安裝程式會配置某些但非全部元件的可執行實例。一旦安裝程式完成後,可立刻啟動及驗證以 [立即配置] 模式配置的元件。在安裝程式執行之後,會藉由執行元件配置精靈來建立剩餘元件的可執行實例。對於安裝程式所配置的元件,您的安裝規劃必須包含執行安裝程式所要輸入的配置值。對於安裝程式執行後才配置的元件,您的安裝規劃必須包含執行配置精靈的程序,以及執行配置精靈時要輸入的配置值。
[立即配置] 模式的重要特性是它能同時安裝 Web 容器以及在 Web 容器中執行的元件。安裝程式會自動將元件部署到 Web 容器。
在 [以後配置] 模式中,安裝程式會將元件軟體檔案複製到電腦,但不會建立可執行的實例。您可在執行安裝程式後,藉由執行元件配置精靈建立實例。您的安裝規劃必須包含執行配置精靈的程序,以及執行配置精靈時要輸入的配置值。
您選取的配置選項會套用到整個安裝階段作業。如果您想要以 [立即配置] 模式於電腦中安裝某些元件,然後以 [以後配置] 模式安裝另一些元件,您必須多次執行安裝程式。
Java ES 安裝程式會執行某些相依性與相容性的檢查。然而,安裝程式僅能檢查本機電腦。例如,如果您將 Access Manager 安裝於分散式解決方案,則安裝程式無法檢查遠端 Directory Server 是否與正在安裝的 Access Manager 相容。
若您安裝與配置的是全新解決方案,且元件均來自同一 Java ES 版本,則不太可能發生相容性問題。如果您要將新元件加入已建立的解決方案,或利用現有元件來建立 Java ES 解決方案,則可能會發生此問題。例如,如果您已在使用 Directory Server,而且正在使用 Access Manager 與 Portal Server 圍繞目前的 Directory Server 來建立解決方案,則可能會發生元件之間的相容性問題。您需要在開始安裝與配置新元件前,先確認這些元件是否相容。
元件相依性檢查。Java ES 安裝程式將防止您忽略已選取安裝之其他元件所需的元件,但僅限於本機主機上的元件。在分散式解決方案中,安裝程式不會檢查遠端主機來驗證其中是否包含遠端元件。在這種情況下,您必須自行驗證遠端元件的相容性以及是否處於正確的執行狀態。
升級。Java ES 安裝程式會檢查已安裝的 Application Server、Message Queue、HADB 與 Java DB 是否與您正在安裝之元件相容,並詢問您是否要在安裝程序中升級元件。
Java ES 安裝程式會升級共用元件。如需本主題的更多資訊,請參閱「適用於 UNIX 的 Sun Java Enterprise System 5 安裝指南」中的「檢查現有主機」。
本節列出了許多在某些解決方案中發生的特定問題以及相關的詳細資訊。
表 3–2 需要考慮的安裝問題
解決方案需要 |
指導或指示 |
---|---|
使用 Solaris 10 區域 |
如果您要安裝至 Solaris 10 區域,請參閱附錄 AJava ES 和 Solaris 10 區域。 |
使用 Directory Server 加密功能 |
在 Directory Server 實例上配置 LDAPS (LDAP 上的 SSL)。 |
協力廠商的 Web 容器 (BEA WebLogic Server 或 IBM WebSphere Application Server) 可與 Portal Server 及 Access Manager 搭配使用。必須在安裝任何與其相依的 Java ES 元件前安裝及執行這些容器。 若要為 Access Manager SDK 使用協力廠商 Web 容器,必須在安裝後手動配置 Access Manager SDK。請參閱「適用於 UNIX 的 Sun Java Enterprise System 5 安裝指南」中的「Access Manager SDK 與容器配置範例」。 備註:在 Solaris OS 上 Portal Server 只能使用協力廠商的 Web 容器。 備註:Access Manager 及 Portal Server 應該使用相同類型的 Web 容器。 |
|
Apache Web Server 可以與 Application Server 負載平衡外掛程式搭配使用。在這種情況下,必須在安裝任何與其相依的 Java ES 元件前安裝和執行 Apache Web Server。 |
|
對於 Schema 1 部署,您不能使用 Access Manager。 |
|
Access Manager 是實現單次登入的必要元件。 |
|
使用 HADB 配置高可用性 |
設定 HADB 以獲得高可用性的程序摘要包含於「適用於 UNIX 的 Sun Java Enterprise System 5 安裝指南」中的「Web 和應用程式服務範例」一節。 |
Application Server 負載平衡 |
使用 Application Server 負載平衡外掛程式的程序摘要包含於「適用於 UNIX 的 Sun Java Enterprise System 5 安裝指南」中的「Web 和應用程式服務範例」一節。 |
非超級使用者所有權 |
如果 Application Server 或 Web Server 需要非超級使用者所有權,請參閱「適用於 UNIX 的 Sun Java Enterprise System 5 安裝指南」中的「非超級使用者範例」。 |