zoukankan      html  css  js  c++  java
  • Tuxedo中间件 配置维护记录

    Tuxedo 配置维护手册

    Tuxedo 作为系统的中间件,其配置主要包括:资源文件的配置和应用环境的配置;其管理和维护主要包括:系统的启动和关闭、日志的跟踪查看工作。

    Tuxedo应用系统的配置

    一、应用系统的资源配置,全都包含在两个资源配置文件中(ubbconfig 和dmconfig ),在这两个配置文件中包含了系统所有的应用资源(文件)。

    1、  对于ubbconfig文件,可以任意使用一个文件名(如:ubb.txt),使用一种文本编辑工具,将应用系统的资源分类进行配置,相关进程启动数量等等都应该配置在其中,然后设置环境变量TUXCONFIG,使用系统命令:tmloadcf 来将文本文件ubb.txt,转化生成环境变量TUXCONFIG制定的二进制文件。在该文件中主要包含了几个参数的设置:系统所使用的共享内存的键值IPCKEY,针对workstation客户端的监听进程的端口(WSL),多台机器之间互连(登记中心与各网关)的网络地址和端口(NADDR,NLSADDR),数据依赖路由的设定等等。

    详细的内容参看《Ubbconfig配置.doc》

    参看模版来实现移植或添加应用进程等等。

    2、  对于dmconfig文件,可以任意使用一个文件名(如:dm.txt),使用一种文本编辑工具,将应用系统的多域互联及互相调用的关系进行配置,包括多域之间互联的地址和端口,然后使用系统命令:dmloadcf 来将文本文件dm.txt,转化成环境变量BDMCONFIG所指定的二进制文件。在该文件中主要包含了在多个域互连时用到的一些设置,主要包括:各个域的定义,各个域通讯连接的地址和端口(NWADDR),本地服务(DM_LOCAL_SERVICES)和远端服务(DM_REMOTE_SERVICES)以及数据依赖路由等等。

    详细的内容参看《dmconfig配置.doc》

    参看模版来实现移植或添加应用远端或本地服务等等。

    3、  客户端代码:是指使用编译工具buildclient编译生成的执行代码。在编译过程中,当使用编译参数:-w 时,将连接库wsc等,生成的执行代码将调用远端的服务,即通过环境变量:WSNADDR来查找相应的WSL的地址和端口; 当编译没有使用参数:–w时,生成的执行代码将调用本机的服务,通过环境变量:TUXCONFIG来实现调用相应的服务,如果要调用异域(如:代理集中点到登记中心)的服务,就需要在dmconfig文件中配置和公布服务。

    4、  服务进程:是指使用编译工具buildserver编译生成的执行代码,不要出现main()函数,启动和关闭要使用Tuxedo的工具:tmboot 和 tmshutdown

    二、应用系统的环境配置,即系统运行时的环境变量的设置

     一般的这些环境变量都放在用户注册是的.profile文件中,也可以根据应用放置在专门的文件中,如:setenv等等,环境的设置主要包括:

    TUXDIR:其值为TUXEDO的安装目录。

                例如:TUXDIR=/home/tuxedo 或 TUXDIR=/home/bea

    TUXCONFIG:其值为含有绝对路径二进制的资源配置文件的文件名,系统启动、监控、关闭等等都要用到此环境变量,当客户端的代码要调用应用系统的本机服务时也需要使用此变量。

    例如:TUXCONFIG=/home/work/etc/tuxconfig

    BDMCONFIG:其值为含有绝对路径二进制的多域配置文件的文件名,在使用多域间互联时要用到此环境变量。

          例如:BDMCONFIG=/home/work/etc/dmcomfig

    PRINTERDIR:传输文件的放置目录,主要是针对文件传输来使用的。

          例如:PRINTERDIR=/home/work/print

    FTP_BLOCK_SIZ:针对文件传输的,每次传输的快的大小,如果没有设置,则系统默认为1024。

    例如: FTP_BLOCK_SIZE=10240;export FTP_BLOCK_SIZE

    WSNADDR:客户端(workstation)设定的,指向服务器端WSL监听的地址和端口,当客户端的代码要调用系统的远端服务时需要此环境变量。

          例如:WSNADDR=//192.168.42.210:7001

    Tuxedo 的管理和维护

    一、系统的启动:

    1、  多机系统的启动(如:登记中心的启动)

    首先设置环境变量,在各台机器上启动tlisten进程,一般设置在setenv中,然后在主管理机上,使用命令tmboot启动应用系统

    tmboot 命令可以选择使用多个参数:

    -A  在各台机器上启动核心的进程(DBBL,BBL)。

    -l lmid 启动某一台机器lmid上的全部进程,机器名:lmid是在文件ubb.txt中配置的逻辑名。

    -g grpname 启动某一组grpname中的全部进程。

    -s server 启动某一个进程server。

    2、  单机系统的启动(如:代理集中点的起动)

    首先设置环境变量,然后使用命令tmboot

    -A  在机器上启动核心的进程(BBL)。

    -g grpname 启动某一组grpname中的全部进程。

    -s server 启动某一个进程server。

    二、系统的关闭:

    1、  多机系统的关闭(如:登记中心的关闭)

    应该在主管理机上,使用命令tmshutdown

    tmshutdown 命令可以选择使用多个参数:

    -y  关闭各台机器上的全部进程。

    -l lmid 关闭某一台机器lmid上的全部进程。

    -g grpname 关闭某一组grpname中的全部进程。

    -s server 关闭某一个进程server。

    2、  单机系统的关闭(如:代理集中点的关闭)

    使用命令tmshutdown

    -y  关闭机器上的全部进程。

    -g grpname 关闭某一组grpname中的全部进程。

    -s server 关闭某一个进程server。

    三、系统的日志跟踪:

    1、  使用管理工具tmadmin

    运行tmadmin进入管理维护界面

    2、  查看系统日志 ULOG.mmddyy

    在系统设定的目录下查看日志文件:ULOG.mmddyy和应用系统自己的日志。

    代理集中点的安装和配置

    一、软件打包

    将目前的代理集中点上的配置文件目录~/etc和简单测试目录~/apps打成一个包。在目录~/apps下的内容多适用于测试环境配置结束后是否正常,在系统正常启动运行后就不再有什么作用了。

    二、系统安装和配置

    1、  修改资源管理配置文件:ubb.txt

    可以使用任意的文本编辑工具,如vi等等编辑工具,以下同。

    修改其中的: IPCKEY,TUXDIR,APPDIR,TUXCONFIG,ENVFILE,ULOGFPX和主机名(通过uname –n看到的)等的值,使之与实际环境相一致。修改 WSL的参数:CLOPT=“-A -- -n 地址:端口…”,使之与实际的环境一致,例如:CLOPT=“-A -- -n 192.168.42.220:7410”。

    2、  修改域管理配置文件:dm.txt

    修改:NWADDR的地址:端口,例如:NWADDR="//192.168.42.231:7310"

    要注意在系统中的dm.txt中的DOMAINID要保持一致,即在不同的文件重要有统一的命名。

    3、  修改环境变量设置文件:setenv,将如下环境变量的值进行修改,使之与实际的配置想符合,以下是参考。

    例如:

    TUXDIR=/home/tuxedo; export TUXDIR

    PATH=$TUXDIR/bin:$PATH:$HOME/runtime:.; export PATH

    SHLIB_PATH=$TUXDIR/lib:/usr/lib:/lib;export SHLIB_PATH (for HPUX

                         LIBPATH=$TUXDIR/lib:$LIBPATH; export LIBPATH   ( for AIX )

                         LD_LIBRARY_PATH=/usr/tuxedo/lib: /usr/informix/lib/esql  ( for SCO

    NLSPATH=$TUXDIR/locale;export NLSPATH

    LANG=C;export LANG

    TUXCONFIG=/home/ebistest/config/tuxconfig;export TUXCONFIG

    BDMCONFIG=/home/ebistest/config/bdmconfig;export BDMCONFIG

    FIELDTBLS32=ftpflds;export FIELDTBLS32

    FLDTBLDIR32=$TUXDIR/api105;export FLDTBLDIR32

    在SCO、HP、IBM系统上的函数库环境设置有个不相同的环境变量(如:SHLIB_PATH、LIBPATH),需要注意。

    针对文件传输的,如果文件较大,可以将环境变量FTP_BLOCK_SIZE的值设置的大一点,如果没有设置该环境变量,则系统默认为1024。例如:

    FTP_BLOCK_SIZE=10240;export FTP_BLOCK_SIZE

    4、  系统启动

    首先设置环境变量,可以放在.profile中,也可以执行文件. ./setenv,并创建日志存放目录 ~/log。

    然后执行tmboot 即可

    三、故障排除

    查看系统日志 ULOG.mmddyy

    在系统设定的目录下查看日志文件:ULOG.mmddyy和应用系统自己的日志。

    登记中心的安装和配置

    一、软件打包

    将目前的登记中心及其网关机上的配置文件目录~/etc和简单测试目录~/apps,及网关机上的~/cjhb打成一个包。在目录~/cjhb下的内容是用于完成成交回报交易的。

    二、系统安装和配置

    1、  修改资源管理配置文件:ubb.txt

    可以使用任意的文本编辑工具,如vi等等编辑工具,以下同。

    修改其中的: IPCKEY,TUXDIR,APPDIR,TUXCONFIG,ENVFILE,ULOGFPX和主机名(通过uname –n看到的)等的值,使之与实际环境相一致。修改 WSL的参数:CLOPT=“-A -- -n 地址:端口…”,使之与实际的环境一致,例如:CLOPT=“-A -- -n 192.168.42.220:7410”。

    2、  修改域管理配置文件:dm.txt,此文件可以放在登记中心机器上,也可以放在网关机器上的响应目录下。

    修改:NWADDR的地址:端口,例如:NWADDR="//192.168.42.231:7310"

    要注意在系统中的dm.txt中的DOMAINID要保持一致,即在不同的文件重要有统一的命名。

    3、  修改环境变量设置文件:setenv,将如下环境变量的值进行修改,使之与实际的配置想符合。

    例如:

    TUXDIR=/home/tuxedo; export TUXDIR

    PATH=$TUXDIR/bin:$PATH:$HOME/runtime:.; export PATH

    SHLIB_PATH=$TUXDIR/lib:/usr/lib:/lib;export SHLIB_PATH (for HPUX

                         LIBPATH=$TUXDIR/lib:$LIBPATH; export LIBPATH   ( for AIX )

                         LD_LIBRARY_PATH=/usr/tuxedo/lib: /usr/informix/lib/esql  ( for SCO

    NLSPATH=$TUXDIR/locale;export NLSPATH

    LANG=C;export LANG

    TUXCONFIG=/home/ebistest/config/tuxconfig;export TUXCONFIG

    BDMCONFIG=/home/ebistest/config/bdmconfig;export BDMCONFIG

    FIELDTBLS32=ftpflds;export FIELDTBLS32

    FLDTBLDIR32=$TUXDIR/api105;export FLDTBLDIR32

    针对文件传输的,如果文件较大,可以将环境变量FTP_BLOCK_SIZE的值设置的大一点,如果没有设置该环境变量,则系统默认为1024。例如:

    FTP_BLOCK_SIZE=10240;export FTP_BLOCK_SIZE

    4、  修改在网关机上的环境设置文件envfilesetenv,将如下的环境变量进行修改,使之与实际的配置想符合。

    除了上面列出的还有如下几个变量:

    MCHSNDFILE=/tmp/beta/matchsend.txt;export MCHSNDFILE

    FSNDLOG=/tmp/beta/Fsnd.log;export FSNDLOG

    PRINTERDIR=/tmp/beta; export PRINTERDIR

    主要是用于成交回报交易的。

    5、系统启动

    首先设置环境变量,可以放在.profile中,也可以执行命令. ./setenv

    然后再登记中心机器上(MASTER)执行tmboot 即可,可以选择分步来启动应用系统,使用:tmboot –A 和 tmboot –l 来逐个启动系统。

    网点的安装和配置

    一、软件打包

    1、  网点的中间件软件(tuxedo),只是需要一些客户端的库函数等等,在选择workstation模式安装后,将tuxedo的所有文件达成一个包即可。

    2、  需要在网点编译时,要注意配置环境变量,参看下面的系统配置。

    二、系统的配置

    1、  配置环境变量

    修改环境变量设置文件(tux.env 或setenv),将如下环境变量的值进行修改,使之与实际的配置想符合。

    例如:

    TUXDIR=/home/tuxedo; export TUXDIR

    PATH=$TUXDIR/bin:$PATH:$HOME/runtime:.; export PATH

    SHLIB_PATH=$TUXDIR/lib:/usr/lib:/lib;export SHLIB_PATH (for HPUX

    LIBPATH=$TUXDIR/lib:$LIBPATH; export LIBPATH   ( for AIX )

    LD_LIBRARY_PATH=/usr/tuxedo/lib: /usr/informix/lib/esql  ( for SCO

    NLSPATH=$TUXDIR/locale;export NLSPATH

    LANG=C;export LANG

    2、  配置与代理集中点相连接的环境变量

    各个网点的应用代码都是通过工作站(workstation)方式与代理集中点连结的。因此要配置连结代理集中点的tcp/ip地址和端口。

                  例如:

                         WSNADDR=//192.168.42.220:7520; export WSNADDR

                         也可以主机名加端口,例如:

                         WSNADDR=//hp01:7520; export WSNADDR

    常见的问题及解决方法

    以下常见的都是在使用中间过程中遇到的问题:

    一、与数据库的连接问题

    在测试中看到,应用代码都是自己去联的数据库,为了保证效率,都是在进程启动的时候预先建立起连接,这样保证了交易进行时的效率;但当数据库出现宕机时,连接也将随之丢失了,这时的应用程序就不能再访问数据库了,在目前的应用中都没有对访问数据库的返回码进行判断,如果是连接失败的可以选择重新连接数据库,而不是退出交易,这样交易又可以正常运行了。

    目前,这样的情况出现后,就需要将应用系统重新启动,使应用程序同数据库进行重新连接。

    二、代理集中点上常见的一个问题

    在代理集中点上常看到两条队列,键值是32和3e8,这两条队列在写满时,因为监控进程没有及时读队列,常常会影响与之有关的几个进程,只需要将这两条队列清空就可以了。

    三、系统启动不正常

    常见的原因有如下几个:

    1、  环境变量没有设好,如上面的所说的各个环境变量。可以到~/etc目录下使用命令:. ./setenv来设置一下。

    2、  据库连接失败,这样会导致连接数据库的应用进程不能启动。检查数据库确保能够正常连接后,再重新启动这些进程。

    3、  单个进程的问题,比如执行权限等等,参看日志文件来找出原因。

    4、  在登记中心使用的是多机互连方式,主管机器负责启动所用的进程,在所有的机器上都要有相应的监听进程:tlisten,对于网关机上的服务,如果网关机宕机或被重新启动时,要将监听进程启动起来,在~/etc目录下,使用命令:. ./setenv即可,然后先在主管机器上运行tmadmin,进入后并执行pcl gwname命令来清理掉网关机得响应信息,再退出并重新启动网关机上的应用系统:tmboot –l gwname。

    注:gwname时网关机的逻辑名,在ubb.txt(Ubbconfig)中定义的,不同的网关机有不同的逻辑名。

    注:tlisten进程可以多次启动,当该进程已经正常运行时,再次启动会报出错误信息:CMDTUX_CAT:1319: INFO: Terminating tlisten process,在日志文件中也有相应的记录,这说明该进程已经启动了。

    5、  如果有某些进程始终在内存中,导致系统不能启动时,可以将这些进程杀掉,并将与之相关的队列和内存也都清掉,然后重新启动系统。

    四、系统关闭不正常

    1、  客户端与系统在发生交易或连接,如:tmadmin等等或客户端的某些服务等正在运行,这些都会导致系统的主进程不能正常关闭。

    2、  登记中心使用的是多机互连方式,主管机器负责启动和关闭所用的进程,在所有的机器上都要有相应的监听进程:tlisten,对于网关机上的服务,如果网关机宕机或被重新启动时,要将监听进程启动起来,在~/etc目录下,使用命令:. ./setenv即可,然后先在主管机器上运行tmadmin命令,然后执行pcl gwname命令来清理掉网关机得响应信息,再退出并重新关闭网关机上的应用系统:tmshutdown –l gwname。

    注:gwname时网关机的逻辑名,在ubb.txt(Ubbconfig)中定义的,不同的网关机有不同的逻辑名。

    注:tlisten进程可以多次启动,当该进程已经正常运行时,再次启动会报出错误信息:CMDTUX_CAT:1319: INFO: Terminating tlisten process,在日志文件中也有相应的记录,这说明该进程已经启动了。

    3、  如果有某些进程始终在内存中,导致系统不能正常关闭时,可以将这些进程杀掉,并将与之相关的队列和内存也都清掉;这些进程往往都是由于运行中出现的异常导致僵死在内存里了,需要手工干预的。

    4、  有时候,有几个操作人员在同时启动系统,会导致系统的某些进程与主进程失去联系,这样就很难关闭了,只好手工来杀掉(kill),并将与之相关的队列、信号灯和共享内存也都清掉(ipcrm)。

    五、交易连接失败

    1、环境变量设置有误,特别是使用客户端代码,直接连接远端服务的;需要重新设定环境变量,如:WSNADDR,TUXCONFIG等等,环境变量设置正确后,再进行交易就可以了。

    2、对方交易没有启动,这是的出错代码在日志文件中tperrno=6,是很典型的,找不到相应的服务;检查服务是否存在,重新启动服务即可。

    3、在代理集中点上常常因为某条队列(32或 3e8)阻塞,影响几个进程的访问,如操作员注册等会因为超时而失败;只需要将这两条队列清空就可以了。

    六、成交回报的交易出错

    1、  进程(gwreadfs)启动时有错误;检查网关机上环境设置是否正确,查看文件~/etc/envfile中的内容,并根据其中的环境变量MCHSNDFILE和FSNDLOG所指定的文件, 如:~/data/matchsend.txt和~/data/Fsnd.log,看看这两个文件是否存在,否则,启动时会指出文件打不开而出错的。

    2、  成交回报的内容没有正确的传到代理集中点上,要检查文件:senderr.log看其中的代理集中点号是否正确,主要是位置是否正确,并且看看在路由表中是否有配置,这类问题在测试初期曾出现过多次。

    3、  交易过程中,文件如果被删除掉了,(特别是目前放在临时目录下的这种情况),就需要在启动进程前,手工创建一个同名的空文件matchsend.txt;如果进程已经启动,则需要重新启动该进程。

  • 相关阅读:
    8.10
    今日头条笔试题 1~n的每个数,按字典序排完序后,第m个数是什么?
    Gym 100500B Conference Room(最小表示法,哈希)
    CodeForces 438D The Child and Sequence(线段树)
    UVALIVE 6905 Two Yachts(最小费用最大流)
    Gym Conference Room (最小表示法,哈希)
    hdu 2389 Rain on your Parade(二分图HK算法)
    Codeforces Fox And Dinner(最大流)
    zoj 3367 Counterfeit Money(dp)
    ZOJ3370. Radio Waves(2-sat)
  • 原文地址:https://www.cnblogs.com/SuperXJ/p/2294314.html
Copyright © 2011-2022 走看看