[转帖]TUXEDO系统配置_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4753 | 回复: 0   主题: [转帖]TUXEDO系统配置        下一篇 
smile
注册用户
等级:少校
经验:889
发帖:70
精华:2
注册:2013-4-22
状态:离线
发送短消息息给smile 加好友    发送短消息息给smile 发消息
发表于: IP:您无权察看 2013-4-24 9:40:43 | [全部帖] [楼主帖] 楼主

应用的描述信息配置在系统核心位置,用一个文件描述,通常称为ubbconfig文件,在主控机器上。整个TUXEDO系统的管理任务可以在一台机器上完成,在配置中被定为主控节点。

在运行时,这些信息被装入一段共享内存(一个IPC资源),称为公告牌(Bulletin Board—BB);包含有配置中不同机器的信息,在这些机器上运行的服务的信息,这些服务提供的交易的信息以及其他相关信息。

客户端在运行时连接公告牌。当客户端程序调用一个交易,将根据公告牌找到合适的服务队列。

TUXEDO提供一个管理进程,称为BBL(Bulletin Board Liaison),包含了一个公告牌的本地拷贝和本地服务器上应用的状态。

TUXEDO提供的另一个管理进程DBBL(Distinguished Bulletin Board Liaison),用于多服务器配置时。DBBL与BBL协同,保证所有部分的公告牌内容的一致性。

一、配置文件

ubbconfig文件可视作包含应用启动信息的容器,需编译成二进制文件tuxconfig,作为启动时的参考。UBBCONFIG配置文件分为9节,各节之间具有包含关系,从上到下是一对多的关系。

其内信息包括:

v  系统范围信息(*RESOURCES节)

v  机器信息(*MACHINES节)

v  组信息(*GROUPS节)

v  服务信息(*SERVERS节)

v  交易信息(*SERVICES节)

v  网络组信息(*NETGROUPS节)

v  网络信息(*NETWORK节)

v  路由原则信息(*ROUTING节)

当完成了ubbconfig文件后,用tmloadcf命令生成tuxconfig。

二、信息内容

1. RESOURCES定义

*RESOURCES节包含整个应用范围的信息。本节必须在配置文件第一节,不可缺少。信息说明如下:

参数                            意义

*RESOURCES             *RESOURCES节

IPCKEY                      公告板id

UID                             TUXEDO管理员用户id

GID                             TUXEDO管理员用户组id

PERM                          TUXEDO管理员组用户的权限

MAXACCESSERS              服务端和客户端的最大进程数

MAXSERVERS            限制可以启动服务总数

MAXSERVICES          限制可以发布交易总数

MASTER                     指出主控节点的逻辑名,第二个是备份节点

MODEL                       应用构架,MP表示多机,否则为单机模式SHM

SYSTEM_ACCESS      PROTECTED,NO_OVERRIDE,应用代码不得干扰共享内存

LDBAL                        设Y则进行负载平衡

SCANUNIT                  内部时间间隔单位,单位是秒

SANITYSCAN             检索公告牌的内部时间间隔,单位是SCANUNIT

BLOCKTIME               交易超时时间,单位是SCANUNIT

BBLQUERY                 所有BLL轮询TUXEDO状况的时间间隔

MAXCONV                 同时最大会话数

2. MACHINES定义

*MACHINES节包含应用有关的每个处理器的信息。本节必须在*RESOURCES节后列出。

参数                            意义

*MACHINES               MACHINES节

TUXDIR                      TUXEDO系统软件安装位置

APPDIR                       应用服务位置全路径

TUXCONFIG               TUXEDO配置文件全路径

ENVFILE                    环境文件全路径

ULOGPFX                   应用日志文件全路径

MAXACCESSERS              本机最多处理器数,可以超越*RESOURCES节定义

MAXCONV                 本机最大会话数,可以超越*RESOURCES节定义

注意:本处未列出全部参数。这些系统范围内参数可以被后序节内参数超越。

3. GROUP定义

*GROUP节包含服务组的定义。一台机器至少要定义一个服务组。如果没有定义组,管理命令tmadmin可能依然能运行。

每个组只要定义组名,映射组名的组号和逻辑机器名。组为分布式交易系统和数据依赖路由等灵活性措施提供了支持。

参数                     意义

*GROUPS             GROUP节

BANKB1              组的唯一标识符,可以是字母数字

GRPNO                组的唯一数字标识符

LMID                   组所在的机器

4. 服务定义

ubbconfig的*SERVERS      节包含的是服务进程的信息。本节中每一个入口代表一个应用启动时加载的服务。这些信息包含服务名,命令行参数,服务环境,重启动等等。由于每个服务功能各不相同,其配置参数也因此相同或相异。

参数                     意义

*SERVERS           SERVER节,列出所有服务程序

DEFAULT:           本处列出的参数为其下列出的服务的缺省值,但可以被单列条目替代相应值

RESTART             如果设成Y,则服务可以重启动

MAXGEN             在GRACE定义时间之内,服务可以重启动MAXGEN次

GRACE                周期,单位是秒

RCMD                  每次服务重启动,本处定义的脚本或命令被执行

ENVFILE             列有环境变量的文件,在交易启动前设入环境

TLR                      一个服务名,用buildserver建立,应在APPDIR或$TUXDIR/bin

SRVGRP        服务属于一个在*GROUPS节中定义的服务组;如果需要移植服务,也可以定义在多个组中。

SRVID           服务组中代表服务的唯一值

MIN                     最少在启动时启动的服务数

MAX             运行时,最多可以起的实例数

CLOPT          跟随服务启动的其他参数

-A          服务内建交易全发布

–r           指定服务记录时间戳,用于以后计算交易处理时间

     -e           定义标准错误重定向文件

     -o          定义标准输出重定向文件

     --            TUXEDO参数和服务特定参数的分隔符

     …           传给tpsvrinit()的参数

SYSTEM_ACCESS             设定后,应用错误不干扰公告牌

RQADDR       当设定此项后,所有本服务的实例都使用相同的请求队列。这是在应用中设置MSSQ(Multiple Server Single Queue)的方便办法,可以改善处理流量。任何时候,所有MSSQ集中的实例发布相同的交易集。

REPLYQ 设成Y,则服务又作为一个MSSQ集配置,任何其中的交易调用其他交易,就建立一个单独的回应队列。

5. 交易定义

*SERVICES节提供了应用的特殊交易的信息。包括负载平衡(LOAD)、service优先级、数据依赖路由、全局事务和数据缓冲类型检查(BUFTYPE)。如果全部都是缺省值则本节可以省略。

参数                     意义

*SERVICES          交易节

#                          注释行符号

大写字母             交易名,由应用服务提供

BUFTYPE             任何向该交易的请求,数据应该是此处定义类型

GROUP                交易所在服务所在的组

LOAD                   负载因子,表示处理请求的时间,用于计算负载平衡

PRIO                    优先级

DDR            定义数据依赖路由

AUTOTRAN     调用该service时是否自动启动一个全局事务,默认为N

没有相关应用,大家作为了解即可。

三、生成TUXCONFIG文件

UBBCONFIG文件是一个可以编辑成需要的应用配置的文本文件。但是,/T在实际应用上读取的是二进制TUXCONFIG文件用于操作。命令tmloadcfg可以把UBBCONFIG文件转化成TUXCONFIG文件。

tmloadcf命令接受以下4个参数:

-c    计算运行应用需要的IPC资源,该信息将提供给管理员,用于在各机器上配置资源。

-n    进行语法检查并不生成TUXCONFIG。

-b    控制TUXCONFIG占用的物理页数。

-y    无条件覆盖TUXCONFIG

环境变量TUXCONFIG必须设定指向二进制TUXCONFIG文件。

在安全要求高的应用中,tmloadcf不能从标准输入接受,环境变量APP_PW必须包含应用密码。

tmunloadcf将TUXCONFIG转换成ASCII格式用于检查。该工具读取环境变量TUXCONFIG指向的文件。输出包含所有的参数,包括TUXEDO设定的缺省值,是UBBCONFIG文件的一个超集。

四、关于MSSQ的配置

在默认情况下,Tuxedo的每一个Server进程对应一个请求队列,该Server从请求队列中取客户端发来的请求,并把处理的结果通过该请求队列返回给客户端,Tuxedo的Server可以配置成多个Server对应一个请求队列,即MSSQ方式,以提高响应的速度。

与MSSQ有关的参数是:

(1)       RQADDR:请求队列的名字,一般设成与该Server的名字一样。

(2)       RAPERM:请求队列的存取权限,默认为0666。

(3)       REPLYQ:该Server中的某个Service调用其他的Service,并有返回结果,则应设置REPLYQ=Y,即把其他Service的应答放到该队列中。

(4)       CONV:设置该Server是否采用会话通信方式。注意采用会话通信的service要单独在一个server中,不能与采用其他通信方式的service在同一个server中,并且该server要设置CONV=Y。

(5)       CLOPT:设置server的启动参数。

五、远程客户端配置

1. 本地客户端与远程客户端的区别

1)  本地客户端只能用C语言或COBAL语言编写,远程客户端可以用几乎所有的编程语言编写。

2)  在远程客户端所在的机器上要安装Tuxedo的客户端软件,并要设置相应的环境变量(WSNADDR)。在本地客户端上则不用。

3)  在SERVERS中配置WSL,配置WSL的侦听端口。

4)  本地客户端对应一个消息队列,接受server的处理结果;远程客户端不占用消息队列。

5)  用buildclient编译远程客户端程序时要加“-w”,编译本地客户端则不用。

2. 远程客户端的配置

1)在MACHINES中配置MAXWSCLIENTS

2)在SERVERS中配置server:WSL

首先通过WSL配置,了解一下WSH(WorkStation Handler Server)和WSL(WorkStation Listener)交互过程,系统中WSL的配置如下:

WSL   SRVGRP=WSLGRP_HLJBOSS SRVID=16000 RESTART=Y MAXGEN=10
CLOPT= "-A -t -- -n //10.110.0.200:28770  -m10 -M50 -x10 -K both -c 10240"


CLOPT可带参数:

-n netaddr:WSL的侦听端口

-m minh:最少启动多少个WSH进程

-M maxh:最多启动多少个WSH进程,默认为MAXWSCLIENTS/x

-x mpx_factor:每个WSH进程可以同时与多少个远程客户端连接

-c compression_threshold:如果传送的数据包大小超过“-c”指定参数,自动进行数据压缩

-T Client_timeout:指定一个远程客户端的空闲时间

-t timeout_factor:指定远程客户端与WSH建立连接的时间

-N [-p minwshport][-P maxwshport]:指定WSH可以使用的端口范围

       上面的配置在启动后可以处理同时m*x=100个并发请求,最大可以处理500个。

在TCP并发处理方式之上进行了改进。监听进程还是只有一个(WSL),但是事先已经起了多个处理请求的进程(WSH),每个WSH又可以处理多个请求,这样就保证了大量的请求能同时得到处理,也省去了临时开服务进程的开销。

3) 环境变量的设置

TUXDIR


WSNADDR 为“-n”参数的值

WSTYPE(可选)


注:不要忘记用buildclient编译远程客户端程序时要加“-w”

六、 Tuxedo Domains配置

local domain和remote domain可以在同一台服务器上,也可以在不同服务器上,即一台服务器可以有一个或多个DOMAIN。针对域的管理有三个服务进程DMADMGWADMGWTDOMAIN。这些服务必须配置在UBBCONFIG文件中。配置信息必须在远程和本地应用环境中定义。

除UBBCONFIG外,配置/DOMAINS还需要一些信息。这些信息在DMCONFIG文件中。DMCONFIG的文本文件通过dmloadcf编译成二进制文件BDMCONFIG

服务DMADM是管理DOMAIN的server,维护和管理DMCONFIG,对GATEWAY GROUP(GWADMGWTDOMAIN)提供支持。

服务GWADM是管理DOMAIN的域网关进程(GWTDOMAIN)的server,从DMADN取得DOMAIN的配置信息,并对GWTDOMAIN及全局事务的LOG文件进行管理。

服务GWTDOMAIN(GWT)负责响应域间通讯,处理DOMAIN之间的互操作。服务GWTDOMAIN通过TCP/IP协议与其他域进行通讯。物理上远程的域的应用位置是透明的。服务GWTDOMAIN是双向的,可以处理远程域发来的请求也可以向远程域发出请求。

GWTDOMAINDMADM必须在同一个组中,在一个tuxedo系统中可以有多个GWTDOMAIN、GWADM对,一个tuxedo系统只能有一个DMADMDMADM可以在任何一个组中。

配置过程

第一步:UBBCONFIG应作相应改动

为/DOMAIN建立的新组应该和其他应用组隔离开。其一用于管理,其他是网关服务。

UBBCONFIG
*RESOURCES
IPCKEY                                 49152
MAXACCESSERS 2
MAXSERVERS                    25
MASTER                               SITE1
MODEL                                 SHM
*MACHINES
class2                                    LMID=SITE1
TUXDIR=”/usr/tuxedo”
APPDIR=”/usr/apps/atmapp”
TUXCONFIG=”/usr/apps/atmapp/atmapp.tux”
*GROUPS
LDMGRP                              LMID=SITE1  GRPNO=20
LGWGRP                              LMID=SITE1  GRPNO=30
#下一行用于‘prod’域
APP1                                     LMID=SITE1 GRPNO=10
*SERVERS
 DMADM                                SRVGRP=LDMGRP            SRVID=200
 GWADM                               SRVGRP=LGWGRP            SRVID=310
 GWTDOMAIN                       SRVGRP=LGWGRP            SRVID=320
#下一行用于‘prod’域
CUSTOMER             CLOPT=”-A”  SRVGRP=APP1(对应上面的group)     SRVID=100
*SERVICES
#下一行用于‘prod’域
ProdCust


第二步:为域间请求创建DMCONFIG

     下文的ASCII数据存在的文件一般称为DMCONFIG,由此生成的二进制格式文件称为BDMCONFIG。以下的DMCONFIG存在于“TEST“域,用来请求远程的”prod“域”ProdCust“交易。

DMCONFIG on TEST DOMAIN
#本地域信息
*DM_LOCAL_DOMAINS
#域网关组的标识符
test                             GWGRP=LGWGRP
#域类型:TDOMAIN即TUXEDO DOMAINS
TYPE=TDOMAIN
#域的唯一标识符
DOMAINID=”TEST”
#service的日志
DMTLOGDEV=”/usr/apps/atmapp/logs/DLOG”
#远程域信息
*DM_REMOTE_DOMAINS
production                  TYPE=TDOMAIN
DOMAINID=”prod”
*DM_TDOMAIN
#地址和设备名
prod                            NWADDR=”//lcspn1:3070”
NWDEVICE=”/dev/xti/tcp”
TEST                          NWADDR=”//lcspn2:3070”
NWDEVICE=”/dev/xti/tcp”
#远程域的service
*DM_REMOTE_SERVICES
ProdCust
*DM_LOCAL_SERVICES


第三步:创建DMCONFIG指定对域外提供的交易

下文的DMCONFIG位于域’prod’,该域将向其他域提供可调用交易:ProdCust。

‘prod’上的DMCONFIG

#本地域信息
*DM_LOCAL_DOMAINS
production                  GWGRP=LGWGRP
TYPE=TDOMAIN
DOMAINID=”prod”
DMTLOGDEV=”/usr/apps/atmapp/logs/DLOG”
#远程域信息
*DM_REMOTE_DOMAINS
test                              TYPE=TDOMAIN
DOMAINID=”TEST”
*DM_TDOMAIN
prod                            NWADDR=”//lcspn1:3070”
NWDEVICE=”/dev/xti/tcp”
TEST                          NWADDR=”//lcspn2:3070”
NWDEVICE=”/dev/xti/tcp”
*DM_REMOTE_SERVICES
*DM_LOCAL_SERVICES
#远程域可以使用的服务
ProdCust


第四步:设定环境变量

/DOMAIN进程需要额外的环境变量去访问/DOMAINS配置信息

export BDMCONFIG=/usr/apps/atmapp/atmapp.bdm


第五步:编译ubbconfig

本过程是从两个域中相同的UBBCONFIG生成二进制文件TUXCONFIG。在本例中,UBBCONFIG的信息位于’ubbconfig’。

tmloadcf –y ubbconfig


第六步:编译dmconfig

本过程是创建二进制DOMAINS配置文件,BDMCONFIG,在两个域中相同;而两者都有的文件‘dmconfig’内容是不同的。

dmloadcf –y dmconfig




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论