tuxedo远程客户端无法访问类故障(持续更新ing)

 

在处理这个问题前,首先需要区分下Tuxedo的本地客户端和远程客户端(其实还有JOLT客户端,这里暂且不去管他)。

Tuxedo的本地客户端与Tuxedo服务器之间是通过系统的IPC资源进行通信,而远程客户端则是通过TCP/IP与服务器进行通信。本地客户端与远程客户端在编程上没有区别,区别是在编译客户端源程序的时候,如果你使用buildclient -f client.c -o client,那么编译出来的就是本地客户端,buildclient -f client.c -o client -w编译出来的就是远程客户端。

当发生远程客户端不能调用Tuxedo服务端程序的时候,你需要做以下确认和问题排查工作:

1、客户端与服务端之间网络是否通畅

从客户端先ping服务端 IP,再telnet IP:PORT,当然首先telnet端口得打开。

2、查看服务端WSL进程是否正常

WSL是服务端负责监听远程客户端请求的进程,若WSL配置不正确或未能正常启动,那么客户端的请求当然是不会被服务端受理的。

ps -ef|grep WSL看下,如果WSL在,并且正在很认真的监听端口,那么下面的你可以不用看了,请直接第3点;若是不是,那么继续。

WSL是在配置文件的*SERVERS节配置的,

配置示例:WSL    SRVGRP=GROUP1    SRVID=10   CLOPT="-A -- -n //10.190.101.2:3200 -m 2 -M 5 -x 10"。

需要注意,-m表示该WSL下负责启动的初始WSH个数,该值要是设置的比较大的话,MAXACCESSERS也是要调大的,否则WSH起不来。还就是这里WSL监听的IP:PORT,端口要确定没有被其他进程所占用。

3、MAXWSCLIENTS是否设置

MAXWSCLIENTS是在配置文件的*MACHINES节设置的,若没有设置该参数,那么客户端也无法访问。

设置示例:MAXWSCLIENTS=10

4、WSNADDR是否设置正确

环境变量WSNADDR是需要者在客户端进行设置的,用来告诉客户端去哪里找服务端。

设置示例:以UNIX环境为例,在环境变量文件中添加WSNADDR=//10.190.101.2:3200;export WSNADDR,设置完成后,运行该环境变量文件,env | grep WSNADDR验证环境变量是否生效。这里要注意的是,WSNADDR的值必须与WSL的值一样。

5、服务端是否正常

直接tmadmin进去,psr、psc一下,查看客户端所调用的服务是否运行正常。

故障示例1

ULOG中错误信息如下:

152344.jtslfcs!?proc.25731.3086538432.0: 07-19-2010: Tuxedo Version 9.1, 32-bit 152344.jtslfcs!?proc.25731.3086538432.0: LIBWSC_CAT:1052: ERROR: Environment variable WSNADDR not set 152344.jtslfcs!?proc.25731.3086538432.0: LIBWSC_CAT:1027: ERROR: Unable to connect to WSH 152344.jtslfcs!?proc.25731.3086538432.0: LIBWSC_CAT:1020: ERROR: Unable to obtain authentication level

故障原因分析:

当ULOG中ERROR信息有很多的时候,我们一般重视第一条,后续错误基本上都是由于第一条引起的连发性错误,这里的故障原因很明显了,是客户端的环境变量WSNADDR没有设置,导致远程客户端调用服务失败

故障示例2

ULOG中错误信息如下:

161929.jtslfcs!?proc.28657.3086034624.0: 07-19-2010: Tuxedo Version 9.1, 32-bit 161929.jtslfcs!?proc.28657.3086034624.0: LIBWSC_CAT:1055: ERROR: Unable to establish WSL connection 161929.jtslfcs!?proc.28657.3086034624.0: LIBWSC_CAT:1027: ERROR: Unable to connect to WSH 161929.jtslfcs!?proc.28657.3086034624.0: LIBWSC_CAT:1020: ERROR: Unable to obtain authentication level

故障原因分析:

ULOG中首先报无法连接到WSL,那么问题原因大部分是在WSL上了,那么首先你需要检查下WSL是否正常,其次就是服务端的WSL与客户端的WSADDR的IP:PORT是否一致。

uxedo远程客户端无法访问故障

分类: Tuxedo 991人阅读 评论(1) 收藏 举报

在处理这个问题前,首先需要区分下Tuxedo的本地客户端和远程客户端(其实还有JOLT客户端,这里暂且不去管他)。

Tuxedo的本地客户端与Tuxedo服务器之间是通过系统的IPC资源进行通信,而远程客户端则是通过TCP/IP与服务器进行通信。本地客户端与远程客户端在编程上没有区别,区别是在编译客户端源程序的时候,如果你使用buildclient -f client.c -o client,那么编译出来的就是本地客户端,buildclient -f client.c -o client -w编译出来的就是远程客户端。

当发生远程客户端不能调用Tuxedo服务端程序的时候,你需要做以下确认和问题排查工作:

1、客户端与服务端之间网络是否通畅

从客户端先ping服务端 IP,再telnet IP:PORT,当然首先telnet端口得打开。

2、查看服务端WSL进程是否正常

WSL是服务端负责监听远程客户端请求的进程,若WSL配置不正确或未能正常启动,那么客户端的请求当然是不会被服务端受理的。

ps -ef|grep WSL看下,如果WSL在,并且正在很认真的监听端口,那么下面的你可以不用看了,请直接第3点;若是不是,那么继续。

WSL是在配置文件的*SERVERS节配置的,

配置示例:WSL    SRVGRP=GROUP1    SRVID=10   CLOPT="-A -- -n //10.190.101.2:3200 -m 2 -M 5 -x 10"。

需要注意,-m表示该WSL下负责启动的初始WSH个数,该值要是设置的比较大的话,MAXACCESSERS也是要调大的,否则WSH起不来。还就是这里WSL监听的IP:PORT,端口要确定没有被其他进程所占用。

3、MAXWSCLIENTS是否设置

MAXWSCLIENTS是在配置文件的*MACHINES节设置的,若没有设置该参数,那么客户端也无法访问。

设置示例:MAXWSCLIENTS=10

4、WSNADDR是否设置正确

环境变量WSNADDR是需要者在客户端进行设置的,用来告诉客户端去哪里找服务端。

设置示例:以UNIX环境为例,在环境变量文件中添加WSNADDR=//10.190.101.2:3200;export WSNADDR,设置完成后,运行该环境变量文件,env | grep WSNADDR验证环境变量是否生效。这里要注意的是,WSNADDR的值必须与WSL的值一样。

5、服务端是否正常

直接tmadmin进去,psr、psc一下,查看客户端所调用的服务是否运行正常。

故障示例1

ULOG中错误信息如下:

152344.jtslfcs!?proc.25731.3086538432.0: 07-19-2010: Tuxedo Version 9.1, 32-bit 152344.jtslfcs!?proc.25731.3086538432.0: LIBWSC_CAT:1052: ERROR: Environment variable WSNADDR not set 152344.jtslfcs!?proc.25731.3086538432.0: LIBWSC_CAT:1027: ERROR: Unable to connect to WSH 152344.jtslfcs!?proc.25731.3086538432.0: LIBWSC_CAT:1020: ERROR: Unable to obtain authentication level

故障原因分析:

当ULOG中ERROR信息有很多的时候,我们一般重视第一条,后续错误基本上都是由于第一条引起的连发性错误,这里的故障原因很明显了,是客户端的环境变量WSNADDR没有设置,导致远程客户端调用服务失败

故障示例2

ULOG中错误信息如下:

161929.jtslfcs!?proc.28657.3086034624.0: 07-19-2010: Tuxedo Version 9.1, 32-bit 161929.jtslfcs!?proc.28657.3086034624.0: LIBWSC_CAT:1055: ERROR: Unable to establish WSL connection 161929.jtslfcs!?proc.28657.3086034624.0: LIBWSC_CAT:1027: ERROR: Unable to connect to WSH 161929.jtslfcs!?proc.28657.3086034624.0: LIBWSC_CAT:1020: ERROR: Unable to obtain authentication level

故障原因分析:

ULOG中首先报无法连接到WSL,那么问题原因大部分是在WSL上了,那么首先你需要检查下WSL是否正常,其次就是服务端的WSL与客户端的WSADDR的IP:PORT是否一致。

 

原文地址:https://www.cnblogs.com/wuxi/p/3346886.html