与WAS的故事-缘来是你-WAS

从2010年因缘际会接触WAS以来,到现在已经八个年头了,这八个年头,一直想为自已跟WAS的缘份写点什么,但一直下不了决心去写,今次。刚好赶上TWT网站搞了这个《我与WAS的故事》的征文活动。因而,就决定写下些什么,算是对过去跟WAS的缘份作些总结吧。因为人到中年,过了那种慷慨激昂,情绪激动的时候,所以,写这些也会尽量平铺直叙。

我是2010年初进入一间跟移动合作的供应商后,接触IBM中间件的。这类公司就是所谓的乙方公司,专门给移动这些甲方公司做技术服务的。说起来,有点搞笑,当时,我应征进来这公司,本来是想搞DB2的,谁想到给这间公司安排去368,驻场做技术支持。而且是做WAS的,当时,我连WAS是什么都不知道,也没接触过。安排去368,就是SUPPORT。就是客户要装什么中间件,要装WAS中间件环境,就让我去安装。当时,由于没接触过WAS,最怕客户找我,去装什么WAS中间件。当时,带我入门的师父,给我看了几遍WAS安装文档,然后带我去佛山机房,去安装几套WAS/MQ,他就撤了。这种撤了,就是离开公司了。跟这位同事相处不到一周,就给人扔到一个角落了,还好,他走时,留下一句金言,如果遇到中间件搞不定的问题,可以找IBM某位销售,他会协调人员解决问题。

那位带我入门的同事离开了公司后,全公司就只有我一个搞IBM中间件,不但中间件,只要是某个项目内涉及的软件都去安装。主要还是WAS。当然,也有一些MQ,CIICS.WPS,ILOG,WSRR,DB2,MB,INFORMIX什么的。一开始,主要是在368接单做事。所以,一开始,主要待在368. 有时候,会跑上14楼,借用终端来操作。来安装WAS,本来要求公司申请公司专门终端,方便做事,公司销售跟客户一走近,一问,才知道终端都给几大供应商瓜分了,没有多余终端了,最后只能厚着脸皮是借别人的终端来做事,那时,在368也不好受。处处受人冷脸。有时候,也受客户的气。遇到搞不定的问题,也要保持镇定,不能露出慌张的神色,不然客户的脸色更不好看。所以,在368那段时间,真的难受而又难忘。以后,随着项目需要安装WAS等中间件的需求多了,而公司搞IBM软件的人手就只有我一个,我就慢慢变得机动了。呆在368就少了。也就是成了别人眼中的“出差”模式了,出没于移动下面,各个地级市的机房了。

好了,说了上面那么多,也应该进入主题了,上面,我也说了,我一开始是没听说过was,这些中间件的,都是来了这公司,因应工作需要,才接触到了。刚开始时,是遇到许多困难,甚至有点想撤退,但想一下,既然来了,既然接触这个WAS,而且,项目也这么需要它,不能就这样败退了,就说服自已硬抗下来。不熟WAS,咋办?,那就主动学习,主动看多些WAS方面的文档和资料,文档和资料从哪里来?,从IBM官网找。官网资料给的资料不够细致,不能立马解决自已的问题,那就只能试错,靠试错,试出来,得出经验。所以。那时候,我在项目安装WAS时,都喜欢折腾,当然,慎用rm -rf  命令,除此之外,在客户的机器咋整都行。当然,手头是没有常用AIX的环境,因为客户的环境都是小机,都是AIX/HP/SUN小机,那就只能在这些机器环境,跑多几次安装命令。从实践中成长和提高。所以,刚开始时,一般给自已三天时间去完成中间件安装实施任务。一天安装,允许安装失败,加熟悉客户机器环境,第二天,安装配置完成,允许存在问题,第三天,排除问题,扫除问题,这样下来,项目安装实施次数多了,就越来越熟手了。最后,进化到写静默式安装脚本,静默式安装WAS和创建脚本。没办法,一是因为项目安装任务重,人手不足,很多时候,一天,至少三个安装任务。通常安装完这个项目,就赶去下一个任务。所以,不能等图形化来一个一个来安装。加上节点众多,只能通过脚本来建,并指定特别端口,跑完脚本自动启动DMGR和NODE AGENT后,再一次性建WAS集群。

有时候,因为客户机器紧张,加上项目上线时间紧。所以,客户就要求在一台机器安装多套WAS,并创建多个NODE,并建多个集群,所以,就很容易出现端口冲突,而造成WAS NODE,甚至DMGR不能启动的情况出现。刚开始时,没有经验,以为安装时,那里选项没有选上,再删除,重装,装完后,情况还是一样,还是不能启动。就尝试看日志,尝试着排错,最后,看到貌似有端口冲突,就改端口,怎样改端口呢?例如,如果发现9548这个端口冲突,就在端口值前面加个1.但可能端口冲突太多,改不过来,就只能删除节点,待其它节点都起来了,都占用了节点应占的端口后,才手工创建其它节点,最后,确认节点貌似都起来了,再建集群。为啥说貌似节点都起来了,因为有时候,有些端口不是核心端口,就算冲突,都能起来了,但是在你建集群,布署应用,问题就会出来了,就会因为端口冲突而造成应用内部通信不畅而影晌应用正常运行的。在这样的WAS结缘生活里,端口冲突排障和rm -rf 删除节点后,如何修改WAS NODE的注册表文件,方便下次顺利创建节点,是我印像比较深刻的。

阅读更多

IBM TXSeries CICS8.2.2 For Linux 下 WLM配置说明文档-单机版

1 开始配置 TXSeries 的 WLM 前,需要先了解几个 WLM 的概念。
a) PLEX: Plex is a group of intercommunicating TXSeries Systems.
b) COR: COR is Client Owning Region. This region handles the incoming requests from the clients.
c) AOR: AOR is Application Owning Region. The business applications are deployed in an AOR.
d) ROUTING MONITOR: Applications that monitor the WLM plex.
e) WAP: WAP is WLM Application Program Cache. The WAP is the central control point of a CICS WLM configuration. The initial configuration information and updates to the
configuration are deposited in the WAP.
f) WCM: WCM is WLM cache manager located on each server on which a workload management routing decision occurs. The WAP cache transfers data to the local WCM
cache.
g) HMON : It is Health Monitor application that monitors health of the regions in WLM.
以下是 WLM 的目录结构:
目录 描述
/opt/ibm/cicssm Directory contains all the WLM runtime components, samples
/opt/ibm/cicssm/msg Directory contains language specific message catalogue files for WLM components
/opt/ibm/cicssm/lib Directory contains WLM runtime components
/opt/ibm/cicssm/bin Directory contains WLM runtime executables and setup scripts
/opt/ibm/cicssm/samples Makefile to setup WLM environment, sample client applications
/var/cicssm Directory contains all the WLM specific configuration, data and log files.
/var/cicssm/log Directory contains console messages from the WLM processes. Trace and debug messages are also created under this directory, if enabled.
/var/cicssm/repos Directory contains the WLM configuration file
2 TxseriesWLM Region 配置
此文档中, COR 为 CORSC、 AOR 为 AOR1SC、 AOR2SC
2.1 COR ( Client Owning Region ) 配置
2.1.1 创建 COR
执行命令:
cicscp –v create region CORSC DefaultFileServer=/.:/cics/sfs/rhel7SFS
2.1.2 更新 Region 定义
a ) RD 定义
#SysId 用于 wlm 的配置,也是 AOR CD 到 COR 的 CD 名称
#出口程序需要缓存在内存中,不退出,所以需要设置 ProgramCacheSize
cicsupdate -c rd -r CORSC LocalSysId=COR1
cicsupdate -c rd -r CORSC ProgramCacheSize=10//主要为了缓存 3 个出口程序
b) PD 定义
#以下三个 PD 是 wlm 的出口程序, COR 都需要配置上
cicsadd -c pd -r CORSC BHGDPL PathName=/opt/ibm/cicssm/bin/bhgdpl UserExitNumber=50 Resident=yes
cicsadd -c pd -r CORSC BHGDPLSP PathName=/opt/ibm/cicssm/bin/bhgdplsp UserExitNumber=51 Resident=yes
cicsadd -c pd -r CORSC BHGDTR PathName=/opt/ibm/cicssm/bin/bhgdtr UserExitNumber=25 Resident=yes
#测试用的 PD,此 PD 不需要写具体路径,只需要写 RemoteSysID,此 ID 为
#COR 到 AOR 的默认路由,也是 COR 里 CD 的名称之一
cicsadd -c pd -r CORSC IBMTRAN RemoteSysId=AOR1 RSLKey=public
c) LD 定义
#TCPService 的值需要在/etc/services 里面配置(CORSC,AOR1SC,AOR2SC的LD定义里的TCPService的值 在/etc/services的设置在文章最后附上)
cicsadd -c ld -r CORSC LD01 Protocol=TCP TCPAddress=rhel7 TCPService=tcpcor1sc
d) CD 定义
cicsadd -c cd -r CORSC AOR1 ConnectionType=cics_tcp RemoteLUName=AOR1SC ListenerName=LD01 RemoteTCPAddress=rhel7 RemoteTCPPort=29002
cicsadd -c cd -r CORSC AOR2 ConnectionType=cics_tcp RemoteLUName=AOR2SC ListenerName=LD01 RemoteTCPAddress=rhel7 RemoteTCPPort=29003

阅读更多

IBM TXSeries cics Fix 文件在Linux系统下的安装与升级

IBM 会定时给IBM TXSERIES CICS提供一些小更新的FIX,这些FIX可以看成是IF,也就是内部FIX,下面就是最新CICS 8.2.2.2的FIX更新记录,更新调用到TXSeriesFixInstaller.sh 脚本文件,该命令在安装前会将现有的CICS 作了BACKUP ,在/opt/ibm/cics/backup目录. 在更新后,如果发现兼容性问题,需要将CICS回滚,也可以调用TXSeriesFixUnInstaller.sh 脚 本命令,将IF删除,还原到原来的CICS版本。下面为FIX更新过程:

[root@rhel7 cics822]# tar zxvf 8.2.0.2-TXSeries-Linux-IF02.tar.Z
FixInstaller_TXSeries_8.2.0.2_InterimServiceFix_2.jar
8.2.0.2-TXSeries-IF-Install.readme
[root@rhel7 cics822]# more *-Install.readme

建议在安装前,详细阅读Install.readme文件,里面有安装与反安装的详细说明。

安装选项说明:

Usage: TXSeriesFixInstaller.sh { help | jarfilename [ silent | verbose | extract | info ] }
TXSeriesFixInstaller.bat { help | jarfilename [ silent | verbose | extract | info ] }

阅读更多