WAS 集群自动部署

<project name="wasant" basedir="." default="wsInstallApp">
 <property name="was.root" value="G:/Program Files/IBM/WebSphere/AppServer" />
     <property name="wsanttasks.jar" value="${was.root}/plugins/com.ibm.ws.runtime.jar"/>
     <property name="app.name" value="jreport"/>
     <property name="ear.file" value="D:/cheping/jreport.war"/>
     <property name="cluster" value="cluster"/>
     <property name="context.root" value="/jreport"/>
 <!--Login information-->
         <property name="username" value="admin"/>
        <property name="password" value="admin"/>
        <property name="host" value="192.168.128.166"/>
        <property name="port" value="8879"/>
        <property name="conntype" value="SOAP"/>
       
<!-- wsadmin command defined
    <property name="startApp.Test166"
            value="$AdminControl invoke [$AdminControl queryNames type=ApplicationManager,process=Test166,*] startApplication ${app.name}"/>
        <property name="startApp.wangcheping"
           value="$AdminControl invoke [$AdminControl queryNames type=ApplicationManager,process=wangcheping,*] startApplication ${app.name}"/>
        <property name="stopApp.Test166"
           value="$AdminControl invoke [$AdminControl queryNames type=ApplicationManager,process=Test166,*] stopApplication ${app.name}"/>
        <property name="stopApp.wangcheping"
            value="$AdminControl invoke [$AdminControl queryNames type=ApplicationManager,process=wangcheping,*] stopApplication ${app.name}"/>
-->     
 <!-- task list
    <taskdef name="wsStartServer" classname="com.ibm.websphere.ant.tasks.StartServer" classpath="${wsanttasks.jar}" />
    <taskdef name="wsStopServer" classname="com.ibm.websphere.ant.tasks.StopServer" classpath="${wsanttasks.jar}" />
    <taskdef name="wsInstallApp" classname="com.ibm.websphere.ant.tasks.InstallApplication" classpath="${wsanttasks.jar}" />
    <taskdef name="wsUpdateApp" classname="com.ibm.websphere.ant.tasks.UpdateApplication" classpath="${wsanttasks.jar}" />
    <taskdef name="wsUninstallApp" classname="com.ibm.websphere.ant.tasks.UninstallApplication" classpath="${wsanttasks.jar}" />
    <taskdef name="wsStartApp" classname="com.ibm.websphere.ant.tasks.StartApplication" classpath="${wsanttasks.jar}" />
    <taskdef name="wsStopApp" classname="com.ibm.websphere.ant.tasks.StopApplication" classpath="${wsanttasks.jar}" />
    <taskdef name="wsListApps" classname="com.ibm.websphere.ant.tasks.ListApplications" classpath="${wsanttasks.jar}" />
    <taskdef name="wsAdmin" classname="com.ibm.websphere.ant.tasks.WsAdmin" classpath="${wsanttasks.jar}" />
   
    -->
 <!-- update information
 <target name="wsUpdateApp" description="Update Application ${app.name}">
         <wsUpdateApp user="${username}" password="${password}" host="${host}"
             ear="${ear.file}" appname="${app.name}" port="${port}" conntype="${conntype}" washome="${was.root}"
             options="-operation update -cluster ${cluster} -contextroot ${contextroot} -contents ${ear.file}">
         </wsUpdateApp>
 </target>
-->
<!-- List APP-->
 <target name="wsListApps" description="List All Applications">
     <taskdef name="wsListApps" classname="com.ibm.websphere.ant.tasks.ListApplications" classpath="${wsanttasks.jar}" />
        <wsListApps conntype="${conntype}" host="${host}" port="${port}"
            user="${username}" password="${password}" washome="${was.root}">
        </wsListApps>
 </target>
 
     <target name="wsUninstallApp" depends="wsListApps" description="Uninstall an Enterprise Application">
    <taskdef name="wsUninstallApp" classname="com.ibm.websphere.ant.tasks.UninstallApplication" classpath="${wsanttasks.jar}" />
    <!-- Uninstall an Enterprise Application under the profile specified. -->
             <wsUninstallApp washome="${was.root}" application="${app.name}"  conntype="${conntype}"
           options="-cluster ${cluster}   -appname ${app.name} -usedefaultbindings"
           host="${host}"   port="${port}" user="${username}"  password="${password}"  failonerror="false" />
        <!-- Invoke listapps target to list installed applications. -->
        <antcall target="wsListApps" />
    </target>


 <target name="wsInstallApp" depends="wsUninstallApp" description="Install Application ${app.name}">
     <taskdef name="wsInstallApp" classname="com.ibm.websphere.ant.tasks.InstallApplication" classpath="${wsanttasks.jar}" />
        <wsInstallApp user="${username}" password="${password}" host="${host}" 
          ear="${ear.file}" port="${port}" conntype="${conntype}" washome="${was.root}" 
             options="-cluster ${cluster}   -appname ${app.name} -usedefaultbindings -contextroot ${context.root}"> 
         </wsInstallApp> 
         <antcall target="wsListApps" />
 </target>
</project>

1 名词解释 1.1 单元Cell 单元是整个分布式网络中一个或多个节点的逻辑分组。单元是一个配置概念,是管理员将节点间逻辑关联起来的实现方法。管理员根据具体的业务环境,制定对其整体系统集成环境有意义的条件来定义和组织构成单元的节点。如图1所示,就一般情况来说,可以将单元看作是最大的作用域。 在IBM WAS ND产品中,管理配置数据都存储在 XML 文件中。单元保留了它每个节点中每台服务器的主配置文件。同时每个节点和服务器也有其自己的本地配置文件。如果服务器已经属于单元,则对于本地节点或服务器配置文件的更改都是临时的,通过在本地提交更改生效时,本地更改覆盖单元配置,但是当执行单元配置文档同步到节点的操作时,在单元级别上对主控服务器和主节点配置文件所作的更改将会替换对该节点所作的任何临时更改。 同步操作在指定的事件发生时进行,例如服务器启动时等很多操作。也就是说,通过对本地节点或服务器配置文件进行修改而达到调整节点或服务器配置的做法不是安全的,临时修改很容易被同步操作所覆盖。 图 1. 单元的作用域 1.2 部署管理器Deployment Manager Deployment Manager 是管理代理程序,它提供集中式管理单元中所有节点的可视化人机交互管理视图。之前提到单元是一个逻辑上的配置概念,那么Deployment Manager 就为单元中所有元素提供了单一的管理控制中心点。每个单元都会包含一个 Deployment Manager,由Deployment Manager提供管理功能来修改单元的主配置文件。在最新的v6.x版本中还提供集群管理以及在一个或多个节点作用域内进行应用程序服务器工作负载平衡。 图 2. 由Deployment Manager提供管理功能来修改单元的主配置文件 1.3 节点Node 节点是受管服务器(Server)的逻辑分组。节点通常与具有唯一 IP主机地址的逻辑或物理计算机系统对应,节点不能跨多台计算机。节点分为受管节点与非受管节点。 IBM WAS ND 拓扑中的节点可能是受管的,也可能是非受管的。受管节点有相应的 Node Agent 进程来管理它的配置和服务器。非受管节点没有 Node Agent。Node Agent 表示管理单元中的节点并负责保持配置始终处于最新状态。非受管节点对于单元来说是未知的,所以 Deployment Manager 无法对其进行管理。 分布式网络环境中的非受管节点可以有服务器定义(例如 Web 服务器),但不能有应用程序服务器定义,并且非受管节点无法添加 Node Agent,因此它不能成为受管节点。另外一种情况在独立应用程序服务器环境中,节点尚且没有 Node Agent,它们也可以暂时被视为非受管节点,但是这类节点可以通过联合独立应用程序服务器而变为单元中的受管节点。通过调整独立应用程序服务器概要文件,将单独的Server节点添加到单元,这个过程称为联合。在联合独立应用程序服务器时,节点将自动创建 Node Agent,该节点就可以被Deployment Manager 管理。 图 3. IBM WAS ND 拓扑中的受管节点与非受管节点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值