Sun logo      上一個      目錄      下一個     

Sun Java System Application Server Enterprise Edition 8.1 管理指南 2005Q1

第 4 章
配置節點代理程式

本章介紹 Application Server 中的節點代理程式。它包含以下各節:


關於節點代理程式

節點代理程式

節點代理程式是託管伺服器實例的每台機器 (包括託管網域管理伺服器 [DAS] 的機器) 上都需要的輕型代理程式。節點代理程式可以:

下圖說明了節點代理程式的整體架構:

圖 4-1

此圖顯示了節點代理程式架構、DAS 上的中央儲存庫和本機儲存庫快取。

節點代理程式架構

自動建立的節點代理程式

安裝 Application Server 時,依預設將使用該機器的主機名稱建立節點代理程式。必須先在本地機器上手動啟動節點代理程式,該節點代理程式才能執行。

節點代理程式和伺服器實例管理

即使未執行節點代理程式,您也可以建立和刪除伺服器實例。但是,節點代理程式必須處於執行狀態,您才能用它來啟動和停止伺服器實例。

如果停止節點代理程式,則該節點代理程式所管理的伺服器實例也將被停止。

附加節點代理程式

一個節點代理程式服務單一網域。如果某台機器託管在多個網域中執行的實例,則該機器必須執行多個節點代理程式。

節點代理程式萬用字元

您可以使用節點代理程式萬用字元建立和刪除不具有現有節點代理程式的伺服器實例。萬用字元是在節點代理程式的本機系統中建立節點代理程式本身之前,在網域管理伺服器 (DAS) 上建立的節點代理程式配置。


備註

當您建立萬用字元節點代理程式之後,即可使用該萬用字元節點代理程式在網域中建立實例。但是,在啟動實例之前,您必須先使用 asadmin 指令在實例將要常駐的機器上本機建立並啟動實際的節點代理程式。請參閱建立節點代理程式啟動節點代理程式,以取得更多資訊。


部署節點代理程式

您可以使用以下兩種方式之一來配置和部署節點代理程式:

部署節點代理程式之前

部署節點代理程式之前,請執行以下步驟:

  1. 安裝網域管理伺服器。
  2. 啟動網域管理伺服器。

啟動並執行網域管理伺服器之後,便可以開始進行線上或離線部署。

線上部署

如果您在開始配置網域之前已經知道其拓樸並具有其硬體,則可以透過線上部署來配置該網域。

下圖概括了節點代理程式的線上部署:

圖 4-2 線上節點代理程式部署

此圖顯示了線上部署節點代理程式的步驟。

若要配置線上部署,請執行以下步驟:

  1. 在將要託管伺服器實例的每台機器上安裝節點代理程式。
  2. 使用安裝程式或 asadmin 指令 create-node-agent。如果某台機器需要多個節點代理程式,請使用 asadmin 指令 create-node-agent 來建立這些節點代理程式。

    請參閱建立節點代理程式,以取得更多資訊。

  3. 使用 asadmin 指令 start-node-agent 啟動節點代理程式。
  4. 啟動之後,節點代理程式將與網域管理伺服器 (DAS) 進行通訊。當節點代理程式到達 DAS 時,將在 DAS 上建立該節點代理程式的配置。具備了配置之後,即可在管理主控台中檢視該節點代理程式。

    請參閱啟動節點代理程式,以取得更多資訊。

  5. 配置網域,包括建立伺服器實例和叢集以及部署應用程式。

離線部署

離線方法使您可以在配置各個本地機器之前輕鬆地定義和重新安排網域中的項目。

下圖概括了離線部署的步驟。

圖 4-3 離線節點代理程式部署

此圖顯示了離線部署節點代理程式的步驟。

若要在本地機器中設定節點代理程式之前配置網域和伺服器實例 (離線配置),請執行以下步驟:

  1. 在網域管理伺服器中建立萬用字元節點代理程式。
  2. 請參閱建立節點代理程式萬用字元,以取得更多資訊。

  3. 建立伺服器實例和叢集並部署應用程式。
  4. 在將要託管伺服器實例的每台機器上安裝節點代理程式。
  5. 使用安裝程式或 asadmin 指令 create-node-agent。節點代理程式的名稱必須與先前建立的萬用字元節點代理程式的名稱相同。

    請參閱建立節點代理程式,以取得更多資訊。

  6. 使用 asadmin 指令 start-node-agent 啟動節點代理程式。
  7. 節點代理程式啟動之後,將連結到網域管理伺服器並建立先前已與該節點代理程式相關聯的所有伺服器實例。

    請參閱啟動節點代理程式,以取得更多資訊。

節點代理程式和網域管理伺服器同步

由於配置資料既儲存在網域管理伺服器的儲存庫 (中央儲存庫) 中,又快取在節點代理程式的本地機器中,因此這兩者必須同步。

節點代理程式同步

第一次啟動節點代理程式時,該節點代理程式將向網域管理伺服器 (DAS) 傳送一個請求,以獲得中央儲存庫中的最新資訊。當節點代理程式成功地與 DAS 取得聯絡並獲得配置資訊時,該節點代理程式即被連結到該 DAS。

如果您在 DAS 上建立了萬用字元節點代理程式,則第一次啟動節點代理程式時,該節點代理程式將從 DAS 的中央儲存庫中獲取其配置。

初始啟動節點代理程式期間,如果由於沒有執行 DAS 而使該節點代理程式無法連結 DAS,該節點代理程式將停止並保持未連結狀態。

如果在網域中變更了節點代理程式的配置,這些變更將在節點代理程式執行時自動傳送給本地機器中的節點代理程式。

如果在 DAS 中刪除了節點代理程式的一個配置,則下次該節點代理程式進行同步時將自行停止並會將其自身標記為待刪除狀態。可以使用本機 asadmin 指令 delete-node-agent 手動刪除該節點代理程式。

伺服器實例同步

如果使用管理主控台或 asadmin 工具明確啟動了伺服器實例,該伺服器實例將與中央儲存庫同步。如果此同步失敗,則伺服器實例不會啟動。

如果節點代理程式不是透過向管理主控台或 asadmin 工具傳送明確的請求來啟動伺服器實例,將不同步該伺服器實例的儲存庫快取。該伺服器實例將以儲存在其快取中的配置執行。

同步大型應用程式

當環境中有大型應用程式要進行同步或者可用記憶體受到限制時,您可以調整 JVM 選項以限制記憶體的使用。這種調整將減少收到記憶體不足錯誤的可能性。實例同步 JVM 使用的是預設設定,但您可以配置 JVM 選項來變更這些設定。

使用 INSTANCE-SYNC-JVM-OPTIONS 特性設定 JVM 選項。用於設定特性的指令為:

asadmin set domain.node-agent.node_agent_name.property.INSTANCE-SYNC-JVM-OPTIONS="JVM_options"

例如︰

asadmin set domain.node-agent.node0.property.INSTANCE-SYNC-JVM-OPTIONS="-Xmx32m -Xss2m"

在此範例中,節點代理程式為 node0,JVM 選項為 -Xmx32m -Xss2m。

如需有關 JVM 選項的更多資訊,請參閱:

http://java.sun.com/docs/hotspot/VMOptions.html


備註

變更 INSTANCE-SYNC-JVM-OPTIONS 特性後,請重新啟動節點代理程式,因為在節點代理程式的配置中新增或變更特性時節點代理程式並不會自動同步。


檢視節點代理程式記錄

每個節點代理程式都有自己的記錄檔。如果使用節點代理程式時遇到問題,請參閱位於以下位置的記錄檔:

node_agent_dir/node_agent_name/agent/logs/server.log.

有時,節點代理程式記錄會指示您檢視伺服器的記錄以獲得關於所出現的問題的詳細資訊。

伺服器記錄位於:

node_agent_dir/node_agent_name/server_name/logs/server.log

node_agent_dir 的預設位置為 install_dir/nodeagents

可以透過管理主控台和 asadmin 工具執行的作業

對於節點代理程式,有些工作必須從執行該節點代理程式的系統上本機執行,而其他工作則可以在網域管理伺服器中執行。需要本機執行的作業只能在節點代理常駐的機器中透過執行 asadmin 工具來執行。而在網域管理伺服器中執行的工作透過管理主控台或是 asadmin 工具都可以執行。

下表概括了這些工作以及執行這些作業的位置:

表 4-1 透過管理主控台或是 asadmin 指令都可以執行的作業

作業

管理主控台

asadmin 指令

在網域管理伺服器中建立節點代理程式萬用字元/配置

建立 [節點代理程式萬用字元] 頁面

create-node-agent-config

建立節點代理程式

不可用

create-node-agent

啟動節點代理程式

不可用

start-node-agent

停止節點代理程式

不可用

stop-node agent

從網域管理伺服器中刪除節點代理程式配置

[節點代理程式] 頁面

delete-node-agent-config

從本地機器中刪除節點代理程式

不可用

delete-node-agent

編輯節點代理程式配置

[節點代理程式] 頁面

set

列出節點代理程式

[節點代理程式] 頁面

list-node-agents


用於節點代理程式的管理主控台作業

檢視一般節點代理程式資訊

建立節點代理程式或節點代理程式預留位置字元後,若要檢視其設定,請執行以下步驟:

  1. 在樹形元件中,選取 [節點代理程式] 節點。
  2. 按一下節點代理程式的名稱。
  3. 如果節點代理程式已經存在但並未在此處顯示,請在節點代理程式的主機電腦上使用 asadmin start-node-agent 來啟動該節點代理程式。請參閱啟動節點代理程式,以取得更多資訊。

  4. 檢查節點代理程式的主機名稱。
  5. 如果主機名稱為 [未知主機],則該節點代理程式尚未同網域管理伺服器 (DAS) 進行初始聯絡。

  6. 檢查節點代理程式的狀態。
  7. 正在執行。節點代理程式已正確建立,並且目前處於執行狀態。

    未執行存在以下情形之一:

    • 已在本地機器中建立了節點代理程式,但從未啟動過該節點代理程式。
    • 以前啟動過節點代理程式,但現在已停止。

    等待會合。節點代理程式是從未在本地機器中建立的萬用字元。

    如需有關建立和啟動節點代理程式的更多資訊,請參閱建立節點代理程式啟動節點代理程式

  1. 選擇啟動節點代理程式時是否啟動實例。
  2. 選擇 [是],將在啟動節點代理程式時自動啟動與該節點代理程式關聯的伺服器實例。選擇 [否] 將手動啟動這些實例。

  3. 確定節點代理程式是否已同網域管理伺服器進行了聯絡。
  4. 如果節點代理程式從未與網域管理伺服器進行過聯絡,則表明該節點代理程式從未成功啟動過。

  5. 管理與節點代理程式關聯的伺服器實例。
  6. 如果節點代理程式正在執行,則可以透過按一下實例名稱旁邊的核取方塊並按一下 [啟動] 或 [停止] 來啟動或停止實例。

建立節點代理程式萬用字元

由於必須從託管節點代理程式的機器上本機建立節點代理程式,因此透過管理主控台您只能為節點代理程式建立萬用字元。此萬用字元是尚不存在的節點代理程式的節點代理程式配置。

建立一個萬用字元之後,請在託管節點代理的機器中使用 asadmin 指令 create-node-agent 完成節點代理程式的建立。如需更多資訊,請參閱建立節點代理程式

  1. 在樹形元件中,選取 [節點代理程式] 節點。
  2. 在 [節點代理程式] 頁面中,按一下 [新建]。
  3. 在 [目前節點代理程式萬用字元] 頁面中,為新節點代理程式輸入一個名稱。
  4. 對於網域中的所有節點代理程式名稱、伺服器實例名稱、叢集名稱和配置名稱中,此名稱必須是唯一的。

  5. 按一下 [確定]。
  6. 新節點代理程式的萬用字元將列示在 [節點代理程式] 頁面中。

等效的 asadmin 指令為:create-node-agent-config

刪除節點代理程式配置

透過管理主控台,您只能刪除網域中的節點代理程式配置,而不能刪除實際的節點代理程式。若要刪除節點代理程式本身,請在該節點代理程式的本地機器中執行 asadmin 指令 delete-node-agent。如需更多資訊,請參閱刪除節點代理程式

刪除節點代理程式配置之前,該節點代理程式必須停止並且不能有任何關聯的實例。若要停止節點代理程式,請使用 asadmin 指令 stop-node-agent。請參閱停止節點代理程式,以取得更多資訊。

  1. 在樹形元件中,選取 [節點代理程式] 節點。
  2. 在 [節點代理程式] 頁面中,選取要刪除的節點代理程式旁邊的核取方塊。
  3. 按一下 [刪除]。

等效的 asadmin 指令為:delete-node-agent-config

編輯節點代理程式配置

若要編輯節點代理程式配置,請執行以下步驟:

  1. 在樹形元件中,展開 [節點代理程式] 節點。
  2. 選取要編輯的節點代理程式配置。
  3. 在 [節點代理程式一般資訊] 頁面中,選擇啟動代理程式時是否啟動代理程式的伺服器實例。您還可以從此頁面手動啟動和停止實例。

如果此配置是萬用字元節點代理程式的配置,則使用 asadmin create-node-agent 建立實際的節點代理程式時,實際的節點代理程式將使用此配置。如需有關建立節點代理程式的資訊,請參閱建立節點代理程式

如果此配置是現有節點代理程式的配置,則將自動同步此節點代理程式配置資訊。

編輯節點代理程式範圍

為連線到節點代理程式的使用者設定認證範圍。只有管理使用者才能存取節點代理程式。

  1. 在樹形元件中,展開 [節點代理程式] 節點。
  2. 選取要編輯的節點代理程式配置。
  3. 按一下 [認證範圍] 標籤。
  4. 在 [節點代理程式編輯範圍] 頁面中,輸入一個範圍。
  5. 預設範圍為 admin-realm,它是您在建立節點代理程式時建立的。若要使用其他範圍,請用新範圍替代由網域控制的所有元件中的範圍,否則這些元件將無法正常通訊。

  6. 在 [類別名稱] 欄位中,指定實作該範圍的 Java 類別。
  7. 新增需要的所有特性。
  8. 認證範圍需要特定於供應商的特性,這些特性會因特定實作的需求不同而有所不同。

為 JMX 編輯節點代理程式的偵聽程式

節點代理程式使用 JMX 與網域管理伺服器進行通訊。因此,該節點代理程式必須具有偵聽 JMX 請求的連接埠以及其他偵聽程式資訊。

  1. 在樹形元件中,展開 [節點代理程式] 節點。
  2. 選取要編輯的節點代理程式配置。
  3. 按一下 [JMX] 標籤。
  4. 如果偵聽程式將偵聽伺服器的所有 IP 位址,請在 [位址] 欄位中鍵入 0.0.0.0 並使用唯一的連接埠值。否則,請鍵入此伺服器的有效 IP 位址。
  5. 在 [連結埠] 欄位中,鍵入節點代理程式的 JMX 連接器要偵聽的連接埠值。如果 IP 位址為 0.0.0.0,則連接埠號必須唯一。
  6. 在 [JMX 協定] 欄位中,鍵入 JMX 連接器支援的協定。
  7. 預設值為 rmi_jrmp。

  8. 按一下 [接受所有位址] 旁邊的核取方塊以允許連線到所有 IP 位址。
  9. 節點代理程式將偵聽與網路卡相關聯的特定 IP 位址或偵聽所有 IP 位址。如果接受所有位址,值 0.0.0.0 將會放入 [偵聽主機位址] 特性中。

  10. 在 [範圍名稱] 欄位中,鍵入為偵聽程式處理認證的範圍的名稱。

在此頁面的 [安全性] 區段中,您可以將偵聽程式配置為使用 SSL 安全性和/或 TLS 安全性

若要設定安全偵聽程式,請執行以下操作:

  1. 在 [安全性] 欄位中核取 [啟用] 方塊。
  2. 依預設已啟用 [安全性]。

  3. 若要使用戶端在使用此偵聽程式時自行向伺服器進行認證,請在 [用戶端認證] 欄位中核取 [啟用] 方塊。
  4. 在 [證書暱稱] 欄位中輸入現有伺服器金鑰組和證書的名稱。請參閱「安全性」一章以取得更多資訊。
  5. 在 [SSL3/TLS] 區段:
    1. 核取要在偵聽程式上啟用的安全性協定。必須核取 SSL3 和/或 TLS。
    2. 選取協定所使用的密碼組。若要啟用所有密碼組,請核取 [所有支援的密碼組]。
  6. 按一下 [儲存]。


asadmin 工具中用於節點代理程式的作業

建立節點代理程式

若要建立節點代理程式,請在執行該節點代理程式的機器中本機執行 asadmin 指令 create-node-agent

例如︰

$ asadmin create-node-agent --host myhost --port 4849 ---user admin nodeagent1

其中,myhost 是網域管理伺服器 (DAS) 主機名稱,4849 是 DAS 連接埠號,admin 是 DAS 使用者,nodeagent1 是要建立的節點代理程式的名稱。

節點代理程式的預設名稱為該節點代理程式建立時所在的主機的名稱。

如果已建立節點代理程式萬用字元,請使用與節點代理程式萬用字元相同的名稱來建立關聯的節點代理程式。如果您尚未建立節點代理程式萬用字元,而 DAS 已啟動並且可進行連線,則 create-node-agent 指令還將在 DAS 上建立節點代理程式配置 (萬用字元)。

如需有關指令語法的完整描述,請參閱該指令的線上說明。


備註

在以下情況下,必須指定一個可連線 DNS 的主機名稱:

1. 網域跨越了子網路邊界 (即,節點代理程式和網域管理伺服器 [DAS] 處於不同的網域中,例如 sun.com 和 java.com)

2. 使用的是主機名稱未在 DNS 中註冊的 DHCP 機器

建立網域和節點代理程式時,可透過明確指定網域和節點代理程式的主機名稱來指定一個可連線 DNS 的主機名稱:

create-domain --domainproperties domain.hostName=DAS-host-name

create-node-agent --host DAS-host-name --agentproperties remoteclientaddress=node-agent-host-name

另外一種解決方案是更新特定於平台的 hosts 主機名稱/IP 解析檔案,從而將主機名稱解析為正確的 IP 位址。但是,使用 DHCP 重新連線時,可能會指定給您一個不同的 IP 位址。在這種情況下,您必須更新每個伺服器中的主機解析檔案。


啟動節點代理程式

節點代理程式必須處於執行狀態,然後才能管理伺服器實例。透過在節點代理程式常駐的系統中本機執行 asadmin 指令 start-node-agent 來啟動節點代理程式。

例如︰

$ asadmin start-node-agent --user admin nodeagent1

其中,admin 是管理使用者,nodeagent1 是要啟動的節點代理程式。

如需有關指令語法的完整描述,請參閱該指令的線上說明。

停止節點代理程式

若要停止正在執行的節點代理程式,請在該節點代理程式常駐的系統中執行 asadmin 指令 stop-node-agentstop-node-agent 指令將停止該節點代理程式所管理的所有伺服器實例。

例如︰

$ asadmin stop-node-agent nodeagent1

其中的 nodeagent1 是節點代理程式。

如需有關指令語法的完整描述,請參閱該指令的線上說明。

刪除節點代理程式

若要刪除節點代理程式檔案,請在該節點代理程式常駐的系統中執行 asadmin 指令 delete-node-agent

刪除節點代理程式之前,必須先停止節點代理程式。您還可以刪除從未啟動過或者從未成功地與網域管理伺服器聯絡 (即尚未連結) 的節點代理程式。

例如︰

$ asadmin delete-node-agent nodeagent1

其中的 nodeagent1 是節點代理程式。

如需有關指令語法的完整描述,請參閱該指令的線上說明。

刪除某個節點代理程式時,您還必須使用管理主控台或 asadmin delete-node-agent-config 指令從網域管理伺服器中刪除該節點代理程式的配置。



上一個      目錄      下一個     


Copyright 2004 - 2005 Sun Microsystems, Inc. 版權所有。