您可以通过以下方法将企业应用程序文件安装到应用程序服务器或集群上:将企业归档
(EAR)、Web 应用程序归档 (WAR)、Java™ 归档 (JAR) 或会话启动协议 (SIP) 归档
(SAR) 拖放或复制到受监控目录中。企业应用程序文件必须符合
Java Platform Enterprise Edition (Java EE) 规范。
开始之前
开发和汇编 EAR、JAR、WAR 或 SAR 文件。您可以使用受支持的组装工具(例如
IBM® Rational® Application
Developer for WebSphere® Software
产品)来指定绑定以及汇编文件。
如果通过将 EAR、JAR、WAR 或 SAR 文件添加至受监控目录来安装该文件,那么此安装操作不会更改现有的
Java 命名和目录 (JNDI) 以及其他应用程序绑定。如果您必须在部署期间设置绑定值,请使用会设置绑定的管理控制台应用程序安装向导、wsadmin
脚本或属性文件来安装文件。请参阅通过将属性文件添加至受监控目录来安装企业应用程序文件。
缺省情况下,未启用受监控目录部署。您必须先启用受监控目录部署,然后才能使用它。请参阅设置受监控目录部署值。
限制: 通过将 EAR、JAR、WAR 或
SAR 文件添加至受监控目录来安装该文件的方法,只在分布式和 z/OS® 操作系统上可用。IBM i 操作系统不支持此方法。
避免故障: 请勿生产环境中使用受监控目录部署,在生产环境中应用程序必须保持持续可用。在生产环境中,请改用自动过程,此过程使应用程序交错更新到每个应用程序服务器,具体为耗尽来自每个服务器的请求,再更新应用程序,然后重新启动服务器。有关此自动过程的信息,请参阅《IBM WebSphere Developer 技术期刊:在更新 WebSphere Application Server 企业应用程序期间保持持续可用性》。
gotcha
关于此任务
可以通过将 EAR、JAR、WAR 或 SAR 文件拖放或复制到受监控目录,来将这些文件部署到应用程序服务器或集群。
对于基本(独立)应用程序服务器,受监控目录是应用程序服务器概要文件的 monitoredDeployableApps/servers/server_name 目录。
对于 Deployment Manager,受监控目录是 Deployment Manager 概要文件的 monitoredDeployableApps/servers/server_name、monitoredDeployableApps/nodes/node_name/servers/server_name 和
monitoredDeployableApps/clusters/cluster_name 目录。
缺省情况下,产品会以不超过每 5 秒钟一次的频率,扫描受监控目录以取得新的应用程序。在受监控目录中找到新的
EAR、JAR、WAR 或 SAR 文件后,产品会在应用程序服务器或集群上安装该文件,然后启动应用程序或模块。
将
EAR 文件添加至受监控目录后,产品会在另一个目录中创建
EAR 文件的临时副本,并在服务器上安装该文件。将 JAR、WAR 或
SAR 文件添加至受监控目录后,产品会在另一个目录中创建归档的临时副本,将归档合并在名为
archive_extension.ear 的 EAR 文件中,并安装新的
EAR 文件。例如,将 simpleApp.war 安装为
simpleApp_war.ear。不会更改您添加至受监控目录的原始归档。
您可以用相同的方法更新应用程序文件。如果您稍后将更新的 EAR、JAR、WAR 或 SAR 文件添加至相同的受监控目录,那么产品会停止先前部署的应用程序,在应用程序服务器或集群上安装更新的文件,然后启动更新的应用程序或模块。例如,假设您先前通过将
my_app.ear 拖放到受监控目录来部署该文件。如果您稍后将名为
my_app.ear 的文件拖放到受监控目录,那么产品会用该同名的已更新 EAR 文件替换先前部署的 EAR 文件。服务器或集群必须正在运行,这样产品才能注意到对其受监控目录中文件的更改。
可以使用图形文件浏览器来拖放或复制 EAR、JAR、WAR 或 SAR 文件。或者,您可以使用操作系统命令来将文件复制到
monitoredDeployableApps 受监控的子目录中。
过程
- 请确保要安装企业应用程序文件的应用程序服务器或集群成员正在运行。
- 请确保已启用受监控目录部署。
请参阅“设置受监控目录部署值”。
- 浏览计算机的文件结构,并找到或创建受监控目录。
对于基本(独立)应用程序服务器,受监控目录位于应用程序服务器概要文件下面。目录路径为:
app_server_root/profiles/application_server_profile_name/monitoredDeployableApps/servers/server_name
app_server_root/AppServer/profiles/default/monitoredDeployableApps/servers/server_name
对于独立服务器,产品会自动创建
server_name 受监控目录。
对于 Deployment Manager 的受管理(联合)节点上的应用程序服务器,请在
Deployment Manager 概要文件下面创建受监控目录。目录路径为:
app_server_root/profiles/deployment_manager_profile_name/monitoredDeployableApps/servers/server_name
app_server_root/AppServer/profiles/default/monitoredDeployableApps/servers/server_name
对于联合节点上的应用程序服务器,您必须创建受监控的
server_name 目录。该目录名称必须与现有服务器的名称相符。
如果多个同名的服务器位于不同的联合节点上,并且您只想将其中一个服务器用作受监控目录,那么可以指定受监控目录的节点和服务器。在 Deployment Manager 概要文件下面创建
/nodes/node_name/servers/server_name 目录。目录路径为:
app_server_root/profiles/deployment_manager_profile_name/monitoredDeployableApps/nodes/node_name/servers/server_name
app_server_root/DeploymentManager/profiles/default/monitoredDeployableApps/nodes/node_name/servers/server_name
您必须为节点和服务器创建目录。
node_name 目录名称必须与现有节点的名称相符。
server_name 目录名称必须与节点上现有服务器的名称相符。
对于集群,请在 Deployment Manager 概要文件下面创建受监控目录。目录路径为:
app_server_root/profiles/deployment_manager_profile_name/monitoredDeployableApps/clusters/cluster_name
app_server_root/DeploymentManager/profiles/default/monitoredDeployableApps/clusters/cluster_name
您必须创建
cluster_name 受监控目录。该目录名称必须与现有集群的名称相符。
- 将要部署的 EAR、JAR、WAR 或 SAR 文件复制到受监控目录。
除非您要更新当前已部署的文件,否则请选择尚未部署到目标受监控目录的文件。
如果已将某个文件部署到 Deployment Manager 的受监控目录,并且您想将该文件部署到
Deployment Manager 的另一个受监控目录,请先从当前目标受监控目录中移除该文件,然后再将该文件添加至新的目标受监控目录。对于此发行版,应用程序文件只能存在于 Deployment Manager 的一个受监控目录中。
结果
产品会将与文件同名的目录添加至概要文件的
installedApps/cell_name 目录。
此外,产品会将应用程序部署的相关消息,写入
app_server_root/logs/server_name 目录的
SystemOut.log 文件中。这些消息以 CWLDD 消息关键字开头。
消息指出产品已部署应用程序文件,并且该应用程序正在运行。
注: 本主题引用了一个或多个应用程序服务器日志文件。作为另一种建议采用的方法,您可以在分布式系统和 IBM i 系统上配置服务器以使用高性能可扩展日志记录 (HPEL) 记录和跟踪基础结构,而不使用 SystemOut.log、SystemErr.log、trace.log 和 activity.log 文件。您还可以将 HPEL 与本机 z/OS 日志记录设施结合使用。如果要使用 HPEL,那么可从服务器概要文件
bin 目录使用 LogViewer 命令行工具来访问所有日志和跟踪信息。有关使用
HPEL 的更多信息,请参阅有关使用 HPEL 对应用程序进行故障诊断的信息。
对于 Deployment Manager 受监控目录上的安装,如果 Node Agent 或服务器未在运行,那么产品不会自动启动应用程序或模块。如果 Node Agent 已停止,那么产品会在
Deployment Manager 级别安装应用程序或模块,但不会使更改与节点同步,并且不会启动应用程序或模块。更改将在下一次运行代理程序时在节点处进行,并且会进行节点同步。如果服务器已停止但 Node Agent 正在运行,那么产品会安装应用程序或模块并使更改与节点同步,但不会启动服务器。
示例
假设您要通过将 EAR 文件复制到受监控目录来安装样本 DynaCacheEsi.ear 文件。您可以在
app_server_root/installableApps 目录中找到该样本 EAR 文件。
在独立的应用程序服务器上部署 EAR 文件- 请确保要安装 DynaCacheEsi.ear 文件的应用程序服务器正在运行。
要查看该服务器是否正在运行,可以使用
serverStatus -all 命令。要启动该服务器,可以使用
startServer server_name 命令。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
例如,假设独立应用程序服务器的概要文件名为 AppSrv02。从命令提示符
app_server_root/profiles/AppSrv02/bin 目录运行
serverStatus 命令:
serverStatus -all
如果该服务器未在运行,请启动该服务器。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
例如,要启动 AppSrv02 上名为 server1 的应用程序服务器,请从命令提示符
app_server_root/profiles/AppSrv02/bin 目录中运行
startServer 命令:
startServer server1
Server server1
open for e-business 消息指出该服务器正在运行。
- 找到受监控目录。
对于独立的
AppSrv02 概要文件,受监控目录是
app_server_root/profiles/AppSrv02/monitoredDeployableApps/servers/server1。
- 将 app_server_root/installableApps 目录中的 DynaCacheEsi.ear 文件复制到受监控目录。
- 验证已安装应用程序的目录是否存在。
app_server_root/profiles/AppSrv02/installedApps/cell_name/DynaCacheEsi.ear
app_server_root/profiles/default/installedApps/cell_name/DynaCacheEsi.ear
- 验证 DynaCacheEsi.ear 是否位于已安装企业应用程序的列表中,并验证它是否正在运行。
在 Deployment Manager 的联合节点上部署 EAR 文件- 请确保要安装 DynaCacheEsi.ear 文件的联合节点的应用程序服务器正在运行。
要查看该服务器是否正在运行,可以使用
serverStatus -all 命令。要启动该服务器,可以使用
startServer server_name 命令。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
例如,假设 server1 应用程序服务器位于概要文件名为
AppSrv01 的节点上。从命令提示符
app_server_root/profiles/AppSrv01/bin 目录中运行
serverStatus 命令:
serverStatus -all
如果该服务器未在运行,请启动该服务器。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
例如,从命令提示符
app_server_root/profiles/AppSrv01/bin 目录中运行
startServer 命令:
startServer server1
- 请确保 DynaCacheEsi.ear 文件未存在于 Deployment Manager 的受监控目录中。
将应用程序文件仅添加至 Deployment Manager 的一个受监控目录。如果应用程序文件已存在于
Deployment Manager 受监控目录中,并且您将同名的应用程序文件添加至另一个
Deployment Manager 受监控目录,那么产品会从前一个目标中卸载该应用程序文件,并将它安装到新的目标。但是,不会使新目标与部署同步,因为文件仍然存在于前一个目标受监控目录中。要防止发生同步问题,必须先从所有受监控目录中移除
DynaCacheEsi.ear,然后再将 DynaCacheEsi.ear 添加至新的目标目录。
- 创建受监控目录。
对于联合节点,除非目标服务器的目录已经存在,否则必须在
Deployment Manager 概要文件下面创建受监控目录。
例如,假设 Deployment Manager 概要文件是 Dmgr01,应用程序服务器是 server1。
- 切换到 /monitoredDeployableApps/servers 目录:
app_server_root/profiles/Dmgr01/monitoredDeployableApps/servers
app_server_root/AppServer/profiles/default/monitoredDeployableApps/servers
- 如果名为 server1 的目录存在于 servers 目录中,那么转至下一步。
如果 server1 目录不存在,那么在 /monitoredDeployableApps/servers
目录中创建名为 server1 的目录。
受监控目录为:
app_server_root/profiles/Dmgr01/monitoredDeployableApps/servers/server1
app_server_root/AppServer/profiles/default/monitoredDeployableApps/servers/server1
- 将 app_server_root/installableApps 目录中的 DynaCacheEsi.ear 文件复制到 server1 受监控目录
- 验证已安装应用程序的目录是否存在。
app_server_root/profiles/AppSrv01/installedApps/cell_name/DynaCacheEsi.ear
app_server_root/AppServer/profiles/default/installedApps/cell_name/DynaCacheEsi.ear
- 验证 DynaCacheEsi.ear 是否位于服务器上已安装企业应用程序的列表中,并验证它是否正在运行。
提示: 如果多个同名的服务器位于不同的联合节点上,并且您只想将其中一个服务器用作受监控目录,那么可以指定受监控目录的节点和服务器。在 Deployment Manager 概要文件下面创建
/nodes/node_name/servers/server_name 目录。例如,如果您希望受监控目录是
myNode01 节点上的 server1 应用程序服务器,那么目录路径为:
app_server_root/profiles/Dmgr01/monitoredDeployableApps/nodes/myNode01/servers/server1
app_server_root/DeploymentManager/profiles/default/monitoredDeployableApps/nodes/myNode01/servers/server1
如果存在多个同名的服务器,那么仅指定受监控目录的节点。
在 Deployment Manager 的集群上部署 EAR 文件- 请确保要安装 DynaCacheEsi.ear 文件的集群的所有集群成员都正在运行。在本示例中,集群 myCluster01 只有一个成员:myClusterMember01。
- 要查看该集群是否正在运行,可以使用
serverStatus -all 命令。要启动该集群成员,可以使用 startServer
myClusterMember01 命令。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
例如,假设 myClusterMember01 位于
AppSrv01 概要文件中。从命令提示符
app_server_root/profiles/AppSrv01/bin 目录中运行
serverStatus 命令:
serverStatus -all
如果该集群成员未在运行,请从命令提示符
app_server_root/profiles/AppSrv01/bin 目录中运行
startServer 命令:
startServer myClusterMember01
- 请确保 DynaCacheEsi.ear 文件未存在于 Deployment Manager 的受监控目录中。
- 创建受监控目录。
对于集群,除非目标集群成员的目录已经存在,否则必须在
Deployment Manager 概要文件下面创建受监控目录。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
例如,假设 Deployment Manager 概要文件是 Dmgr01:
- 切换到 app_server_root/profiles/Dmgr01/monitoredDeployableApps/clusters。
- 如果名为 myCluster01 的目录存在于 /clusters 目录中,请转至下一步。
如果 myCluster01 目录不存在,请在 /clusters 目录中创建名为
myCluster01 的目录。
受监控目录为:
app_server_root/profiles/Dmgr01/monitoredDeployableApps/clusters/myCluster01
app_server_root/DeploymentManager/profiles/default/monitoredDeployableApps/clusters/myCluster01
- 将 app_server_root/installableApps 目录中的 DynaCacheEsi.ear 文件复制到 myCluster01 受监控目录。
- 验证已安装应用程序的目录是否存在。
app_server_root/profiles/AppSrv01/installedApps/cell_name/DynaCacheEsi.ear
app_server_root/AppServer/profiles/default/installedApps/cell_name/DynaCacheEsi.ear
- 验证 DynaCacheEsi.ear 是否位于集群成员上已安装企业应用程序的列表中,并验证它是否正在运行。
下一步做什么
测试已部署的应用程序或模块。例如,将 Web 浏览器指向已部署应用程序的 URL,并检查应用程序的性能。
如果部署失败,请阅读 SystemOut.log 文件中的消息,修正错误条件,然后将应用程序或模块重新添加至受监控目录。