Sun Java System Application Server Enterprise Edition 8.1 管理指南 2005Q1 |
第 4 章
配置節點代理程式本章介紹 Application Server 中的節點代理程式。它包含以下各節:
關於節點代理程式節點代理程式
節點代理程式是託管伺服器實例的每台機器 (包括託管網域管理伺服器 [DAS] 的機器) 上都需要的輕型代理程式。節點代理程式可以:
下圖說明了節點代理程式的整體架構:
圖 4-1
節點代理程式架構
自動建立的節點代理程式
安裝 Application Server 時,依預設將使用該機器的主機名稱建立節點代理程式。必須先在本地機器上手動啟動節點代理程式,該節點代理程式才能執行。
節點代理程式和伺服器實例管理
即使未執行節點代理程式,您也可以建立和刪除伺服器實例。但是,節點代理程式必須處於執行狀態,您才能用它來啟動和停止伺服器實例。
如果停止節點代理程式,則該節點代理程式所管理的伺服器實例也將被停止。
附加節點代理程式
一個節點代理程式服務單一網域。如果某台機器託管在多個網域中執行的實例,則該機器必須執行多個節點代理程式。
節點代理程式萬用字元
您可以使用節點代理程式萬用字元建立和刪除不具有現有節點代理程式的伺服器實例。萬用字元是在節點代理程式的本機系統中建立節點代理程式本身之前,在網域管理伺服器 (DAS) 上建立的節點代理程式配置。
備註 當您建立萬用字元節點代理程式之後,即可使用該萬用字元節點代理程式在網域中建立實例。但是,在啟動實例之前,您必須先使用
asadmin
指令在實例將要常駐的機器上本機建立並啟動實際的節點代理程式。請參閱建立節點代理程式和啟動節點代理程式,以取得更多資訊。
部署節點代理程式
您可以使用以下兩種方式之一來配置和部署節點代理程式:
部署節點代理程式之前
部署節點代理程式之前,請執行以下步驟:
啟動並執行網域管理伺服器之後,便可以開始進行線上或離線部署。
線上部署
如果您在開始配置網域之前已經知道其拓樸並具有其硬體,則可以透過線上部署來配置該網域。
下圖概括了節點代理程式的線上部署:
圖 4-2 線上節點代理程式部署
若要配置線上部署,請執行以下步驟:
- 在將要託管伺服器實例的每台機器上安裝節點代理程式。
使用安裝程式或
asadmin
指令create-node-agent
。如果某台機器需要多個節點代理程式,請使用asadmin
指令create-node-agent
來建立這些節點代理程式。請參閱建立節點代理程式,以取得更多資訊。
- 使用
asadmin
指令start-node-agent
啟動節點代理程式。啟動之後,節點代理程式將與網域管理伺服器 (DAS) 進行通訊。當節點代理程式到達 DAS 時,將在 DAS 上建立該節點代理程式的配置。具備了配置之後,即可在管理主控台中檢視該節點代理程式。
請參閱啟動節點代理程式,以取得更多資訊。
- 配置網域,包括建立伺服器實例和叢集以及部署應用程式。
離線部署
離線方法使您可以在配置各個本地機器之前輕鬆地定義和重新安排網域中的項目。
下圖概括了離線部署的步驟。
圖 4-3 離線節點代理程式部署
若要在本地機器中設定節點代理程式之前配置網域和伺服器實例 (離線配置),請執行以下步驟:
- 在網域管理伺服器中建立萬用字元節點代理程式。
請參閱建立節點代理程式萬用字元,以取得更多資訊。
- 建立伺服器實例和叢集並部署應用程式。
- 在將要託管伺服器實例的每台機器上安裝節點代理程式。
使用安裝程式或
asadmin
指令create-node-agent
。節點代理程式的名稱必須與先前建立的萬用字元節點代理程式的名稱相同。請參閱建立節點代理程式,以取得更多資訊。
- 使用
asadmin
指令start-node-agent
啟動節點代理程式。節點代理程式啟動之後,將連結到網域管理伺服器並建立先前已與該節點代理程式相關聯的所有伺服器實例。
請參閱啟動節點代理程式,以取得更多資訊。
節點代理程式和網域管理伺服器同步
由於配置資料既儲存在網域管理伺服器的儲存庫 (中央儲存庫) 中,又快取在節點代理程式的本地機器中,因此這兩者必須同步。
節點代理程式同步
第一次啟動節點代理程式時,該節點代理程式將向網域管理伺服器 (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
檢視節點代理程式記錄
每個節點代理程式都有自己的記錄檔。如果使用節點代理程式時遇到問題,請參閱位於以下位置的記錄檔:
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 工具都可以執行。
下表概括了這些工作以及執行這些作業的位置:
用於節點代理程式的管理主控台作業檢視一般節點代理程式資訊
建立節點代理程式或節點代理程式預留位置字元後,若要檢視其設定,請執行以下步驟:
- 在樹形元件中,選取 [節點代理程式] 節點。
- 按一下節點代理程式的名稱。
如果節點代理程式已經存在但並未在此處顯示,請在節點代理程式的主機電腦上使用
asadmin start-node-agent
來啟動該節點代理程式。請參閱啟動節點代理程式,以取得更多資訊。- 檢查節點代理程式的主機名稱。
如果主機名稱為 [未知主機],則該節點代理程式尚未同網域管理伺服器 (DAS) 進行初始聯絡。
- 檢查節點代理程式的狀態。
正在執行。節點代理程式已正確建立,並且目前處於執行狀態。
未執行。存在以下情形之一:
等待會合。節點代理程式是從未在本地機器中建立的萬用字元。
- 選擇啟動節點代理程式時是否啟動實例。
選擇 [是],將在啟動節點代理程式時自動啟動與該節點代理程式關聯的伺服器實例。選擇 [否] 將手動啟動這些實例。
- 確定節點代理程式是否已同網域管理伺服器進行了聯絡。
如果節點代理程式從未與網域管理伺服器進行過聯絡,則表明該節點代理程式從未成功啟動過。
- 管理與節點代理程式關聯的伺服器實例。
如果節點代理程式正在執行,則可以透過按一下實例名稱旁邊的核取方塊並按一下 [啟動] 或 [停止] 來啟動或停止實例。
建立節點代理程式萬用字元
由於必須從託管節點代理程式的機器上本機建立節點代理程式,因此透過管理主控台您只能為節點代理程式建立萬用字元。此萬用字元是尚不存在的節點代理程式的節點代理程式配置。
建立一個萬用字元之後,請在託管節點代理的機器中使用
asadmin
指令create-node-agent
完成節點代理程式的建立。如需更多資訊,請參閱建立節點代理程式。等效的
asadmin
指令為:create-node-agent-config
。刪除節點代理程式配置
透過管理主控台,您只能刪除網域中的節點代理程式配置,而不能刪除實際的節點代理程式。若要刪除節點代理程式本身,請在該節點代理程式的本地機器中執行
asadmin
指令delete-node-agent
。如需更多資訊,請參閱刪除節點代理程式。刪除節點代理程式配置之前,該節點代理程式必須停止並且不能有任何關聯的實例。若要停止節點代理程式,請使用
asadmin
指令stop-node-agent
。請參閱停止節點代理程式,以取得更多資訊。等效的
asadmin
指令為:delete-node-agent-config
。編輯節點代理程式配置
若要編輯節點代理程式配置,請執行以下步驟:
如果此配置是萬用字元節點代理程式的配置,則使用
asadmin create-node-agent
建立實際的節點代理程式時,實際的節點代理程式將使用此配置。如需有關建立節點代理程式的資訊,請參閱建立節點代理程式。如果此配置是現有節點代理程式的配置,則將自動同步此節點代理程式配置資訊。
編輯節點代理程式範圍
為連線到節點代理程式的使用者設定認證範圍。只有管理使用者才能存取節點代理程式。
為 JMX 編輯節點代理程式的偵聽程式
節點代理程式使用 JMX 與網域管理伺服器進行通訊。因此,該節點代理程式必須具有偵聽 JMX 請求的連接埠以及其他偵聽程式資訊。
- 在樹形元件中,展開 [節點代理程式] 節點。
- 選取要編輯的節點代理程式配置。
- 按一下 [JMX] 標籤。
- 如果偵聽程式將偵聽伺服器的所有 IP 位址,請在 [位址] 欄位中鍵入 0.0.0.0 並使用唯一的連接埠值。否則,請鍵入此伺服器的有效 IP 位址。
- 在 [連結埠] 欄位中,鍵入節點代理程式的 JMX 連接器要偵聽的連接埠值。如果 IP 位址為 0.0.0.0,則連接埠號必須唯一。
- 在 [JMX 協定] 欄位中,鍵入 JMX 連接器支援的協定。
預設值為 rmi_jrmp。
- 按一下 [接受所有位址] 旁邊的核取方塊以允許連線到所有 IP 位址。
節點代理程式將偵聽與網路卡相關聯的特定 IP 位址或偵聽所有 IP 位址。如果接受所有位址,值
0.0.0.0
將會放入 [偵聽主機位址] 特性中。- 在 [範圍名稱] 欄位中,鍵入為偵聽程式處理認證的範圍的名稱。
在此頁面的 [安全性] 區段中,您可以將偵聽程式配置為使用 SSL 安全性和/或 TLS 安全性
若要設定安全偵聽程式,請執行以下操作:
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 上建立節點代理程式配置 (萬用字元)。如需有關指令語法的完整描述,請參閱該指令的線上說明。
啟動節點代理程式
節點代理程式必須處於執行狀態,然後才能管理伺服器實例。透過在節點代理程式常駐的系統中本機執行
asadmin
指令start-node-agent
來啟動節點代理程式。例如︰
$ asadmin start-node-agent --user admin nodeagent1
其中,
admin
是管理使用者,nodeagent1
是要啟動的節點代理程式。如需有關指令語法的完整描述,請參閱該指令的線上說明。
停止節點代理程式
若要停止正在執行的節點代理程式,請在該節點代理程式常駐的系統中執行
asadmin
指令stop-node-agent
。stop-node-agent
指令將停止該節點代理程式所管理的所有伺服器實例。例如︰
$ asadmin stop-node-agent nodeagent1
其中的
nodeagent1
是節點代理程式。如需有關指令語法的完整描述,請參閱該指令的線上說明。
刪除節點代理程式
若要刪除節點代理程式檔案,請在該節點代理程式常駐的系統中執行
asadmin
指令delete-node-agent
。刪除節點代理程式之前,必須先停止節點代理程式。您還可以刪除從未啟動過或者從未成功地與網域管理伺服器聯絡 (即尚未連結) 的節點代理程式。
例如︰
$ asadmin delete-node-agent nodeagent1
其中的
nodeagent1
是節點代理程式。如需有關指令語法的完整描述,請參閱該指令的線上說明。
刪除某個節點代理程式時,您還必須使用管理主控台或
asadmin delete-node-agent-config
指令從網域管理伺服器中刪除該節點代理程式的配置。