技术开发 频道

wsadmin脚本工具包建WPS ND环境


4.自动脚本工具包配置

    使用此脚本工具集,您既可以通过定制脚本的内容,创建任意拓扑的ND6环境也可以使用脚本默认支持的拓扑结构,只需修改主机名和您的节点名称等基础信息就可以创建出ND6环境。

4.1 脚本运行条件

a. 环境支持:
1. 各个服务器之间互相联通,主机名可以相互解析。系统时间差在5分钟之内。
2. 每台服务器上已经预安装了WPS 6022的产品。并且创建好Dmgr和Customer的profile。并且已经将customer profile 加入到dmgr profile。
3. Dmgr profile与node agent已经处于启动状态。
4. 拷贝此工具包到Dmgr所在的服务器,并赋予可执行权限。
5. 此脚本只能运行与Unix/Linux环境上,如果是windows系统可以使用Sygwin工具来运行Linux命令。

b. 数据库支持: 
    默认支持DB2做为数据库,在运行脚本之前,要建立好commonDB,BPEDBA BPEDBB 和MEDB,其中,commonDB是WPS所用的DB,BPEDBA、BPEDBB为两个BPC Cluster所用的BPE DB,MEDB为message engine使用的DB,这里共用一个MEDB,将用不同的schema来区分。

4.2 标准ND6环境的拓扑图 
    此脚本工具包里提供的默认ND6拓扑结构如下图所示,包含三个cluster,和一个singleserver。分别为两个BPC cluster和一个 CEI cluster。目前脚本仅实现了BPC cluster和single server的自动搭建。每个BPC cluster里包含两个server。



4.3 配置方法

a. 进入项目中的sh文件夹,修改setenvND6.sh脚本。在此脚本中定义了脚本得以依赖运行的环境变量。
RES_LOC 为此脚本包所在的位置。
WAS_HOME 为wps6022 的安装目录。
DMGRPROFILENAME 为此ND环境中dmgr的profile名字。
WSADMINUSER 为在启了全局安全性之后访问wsadmin的用户名。
WSADMINUSERPWD为在启了全局安全性之后访问wsadmin的密码。

b. 进入项目中的sh文件夹,修改configINSAll.sh脚本。在此脚本中,组合了jacl脚本,用来创建一个默认的ND6环境。其中包含两个BPC Cluster,每个cluster含有两个server。一个singleserver,并且为每个server创建了HA policy。此脚本中仅是按顺序执行各个jacl脚本,其中具体的逻辑实现是在jacl脚本里。

下面具体说明每一句的意义: 

    第一部分用来创建cluster和singleserver 并且为他们配置SCA:$WAS_HOME/profiles/$DMGRPROFILENAME/bin/wsadmin.sh -wsadmin_classpath $CLASSPATH -profile "$RES_LOC/wap/wapmain5.jacl" -username $WSADMINUSER -password $WSADMINUSERPWD -f $RES_LOC/jacls/ND6/SetupND6_1.jacl >>./logs/INSAutoOut.log 2>&1 

    此句使用wsadmin来执行jacl脚本SetupND6_1.jacl .并使用到/wap/wapmain5.jacl为基础脚本库。 

    第二部分为已经创建好的两个cluster配置BPC: 

    使用WPS6022里的脚本:bpeconfig.jacl,并将此版本修改成silent模式。其中配置过程中需要的所有变量在Nd6BPEClusterA.jacl、Nd6BPEClusterB.jacl里进行指定。
$WAS_HOME/profiles/$DMGRPROFILENAME/bin/wsadmin.sh -wsadmin_classpath $CLASSPATH -profile "$RES_LOC/wap/wapmain5.jacl" -username $WSADMINUSER -password $WSADMINUSERPWD -f $WAS_HOME/ProcessChoreographer/config/bpeconfig.jacl -file Nd6BPEClusterA.jacl >>./logs/INSAutoOut.log 2>&1
$WAS_HOME/profiles/$DMGRPROFILENAME/bin/wsadmin.sh -wsadmin_classpath $CLASSPATH -profile "$RES_LOC/wap/wapmain5.jacl" -username $WSADMINUSER -password $WSADMINUSERPWD -f $WAS_HOME/ProcessChoreographer/config/bpeconfig.jacl -file Nd6BPEClusterB.jacl >>./logs/INSAutoOut.log 2>&1 

    第三部分用来向集群里增加成员,在默认的配置中,每个集群包含两个集群成员。并且针对每个集群成员配置HA Policy。
$WAS_HOME/profiles/$DMGRPROFILENAME/bin/wsadmin.sh -wsadmin_classpath $CLASSPATH -profile "$RES_LOC/wap/wapmain5.jacl" -username $WSADMINUSER -password $WSADMINUSERPWD -f $RES_LOC/jacls/ND6/SetupND6_2.jacl >>./logs/INSAutoOut.log 2>&1
此语句主要执行SetupND6_2.jacl脚本。 

    第四部分为创建ND6的最后一步,在这一步骤里,目的是修改每个message engine的data store的schema name。这样如果在MEDB为同一个数据库的情况下不会导致表名冲突。
$WAS_HOME/profiles/$DMGRPROFILENAME/bin/wsadmin.sh -wsadmin_classpath $CLASSPATH -profile "$RES_LOC/wap/wapmain5.jacl" -username $WSADMINUSER -password $WSADMINUSERPWD -f $RES_LOC/jacls/ND6/ModifyDataStore.jacl >>./logs/INSAutoOut.log 2>&1

c. 配置ND6的属性参数 

    进入到目录\jacls\ND6\,修改Nd6Parameters.jacl。此文件分成两个部分,一部分为-the Common content-,这部分通常配置时都需要针对自己的环境进行修改,即便是拓扑结构采用脚本中默认的设置。第二部分为-customer definition part-,这部分仅在您需要更改拓扑结构或者集群要素名称时需要更改。 

    在Common content部分的Env. part,定制修改3个节点所在的主机的名字(需要在hosts文件中有定义),和节点的名字。在BPC CONFIG PART ,设置bpc explore访问的主机名和端口号。在DB part需要指定数据库服务器的主机名,端口,用户名,密码等信息。SIB data store part部分指定了schema的前缀信息,脚本会在前缀后递增的加上数字,以保证唯一性。Security part仅仅针对使用LDAP做设置,其它方式需要自己写脚本进行配置。stuff Plug-in provider part部分如果您配置的环境中没有使用到stuff-plugin则可以注释掉。 

    在customer definition part部分,可以指定Cluster和Cluster成员的名字和JDBC provider的名字。

d. 执行脚本:

6.创建自定义的ND6环境工具包的订制 

    对于自定义的ND6环境,除了要修改上述的几个脚本来适应您的环境之外,还需要定制修改一下的几个脚本:

a. SetupND6_1.jacl。这个脚本主要完成了创建Cluster,和 SingleServer,并为之配置了SCA。您可以使用UE或其他文本编辑器打开此文件。搜索“Step”会得到以下结果: 

    从结果中可以看到,在此脚本中共有10步。每一步实现了一个功能。第一步是设置websphere 变量。等同于在管理控制台中的websphere变量设置。 第二步是在节点1上面创建仅有一个成员的Cluster:createClusterWithOneMember $CLUSTERA $NODE1 $SERVERA1。第三步是为Cluster的SIB创建数据源,使用如下方法创建一个provider: setupDSProvider $CLUSTERA $JDBCPROVIDER_CA,在此provider下面,为4个bus创建XA类型的数据源,使用方法:createDataSource。第四步,在创建完数据源之后,可以为Cluster配置SCA。使用这个方法:$AdminTask configSCAForCluster,方法的参数可以参考admintask的configSCAForCluster的帮助信息。使用$AdminTask configRecoveryForCluster来为Cluster配置failevent。最后一段用来创建一个Single Server,使用命令:crServer $NODE3 $SSERVER,既:在节点Node3上创建一个single server。 

    以上的每一块代码段都独立的执行一个功能。可以通过拷贝粘贴来创建一个新的BPC cluster和为之配置SCA与datasource。所有的函数比如:createClusterWithOneMember、setupDSProvider、createDataSource都是在\jacllib\JaclLib.jacl定义的。所以在此文件中要引入jacllib.jacl:source "$RES_LOC/jacllib/JaclLib.jacl"。

b. 配置SetupND6_2.jacl脚本。此脚本主要完成了以下任务:
1.为带有一个成员的Cluster配置HA Policy,在ND6中,要为每个ME配置。
2.为Cluster增加一个新成员,并同时配置此成员的HA policy。
3.启用全局安全性
4.配置Stuff Plug-in
5.添加虚拟主机

下面针对每个功能做具体说明: 

    第12步,使用语句set policyId [createOneOfNPolicy $meName DefaultCoreGroup] 在DefaultCoreGroup里创建one of N 类型的策略,并返回此policy的ID值给policyId。createMatchCriteria WSAF_SIB_MESSAGING_ENGINE $meName $policyId,createMatchCriteria type WSAF_SIB $policyId,用来在此Policy内创建Match Criteria。addPreferredServer $SERVERA1 $policyId,此语句在此Policy内创建preferred server。由于共有SCA.APPLICATION,SCA.SYSTEM,BPC三条Bus内的ME需要配置HA Policy,因此在此脚本中,会对每个Cluster的成员为三条bus内的ME配置Policy。
第13、14步,为Cluster增加另一个成员,同时为之配置Policy。使用growCluster方法来为Cluster增加一个成员。
第15步,用来启用LTPA_LDAP安全性,使用方法LTPA_LDAPSecurityOn。
从第16步到第19步,为配置stuff plug-in。关于stuff plug-in的配置,可以参考info center得到更多的信息。
在此脚本的最后,增添了4个虚拟主机。

c. ModifyDataStore.jacl脚本仅仅用来更改ME的data store的schema,使MEDB中的表的schema不重复。 

    至此,说明了如何构建支持自定义拓扑的工具定制方法。
以上各步骤使用的方法均定义在jacllib\JaclLib.jacl里。这些函数均可以单独使用来支持您自己的脚本。您可以基于此脚本构建自己的脚本工具。
0
相关文章