Tuxedo远程客户端无法访问故障_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1673 | 回复: 1   主题: Tuxedo远程客户端无法访问故障        上一篇   下一篇 
solo9867
注册用户
等级:新兵
经验:61
发帖:71
精华:0
注册:2011-12-15
状态:离线
发送短消息息给solo9867 加好友    发送短消息息给solo9867 发消息
发表于: IP:您无权察看 2015-5-8 16:03:32 | [全部帖] [楼主帖] 楼主

在处理这个问题前,首先需要区分下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是否一致。

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
koei123
注册用户
等级:大校
经验:4069
发帖:13
精华:0
注册:2011-7-21
状态:离线
发送短消息息给koei123 加好友    发送短消息息给koei123 发消息
发表于: IP:您无权察看 2015-6-1 22:50:00 | [全部帖] [楼主帖] 2  楼

有个小技巧:

因为Tuxedo的tpinit()其实底下走的TCP协议,所以可以用Telnet测试,就是

telnet IP:POPT


1. 如果挂在那里有反应,说明网络是通的,查程序为主;
2. 如果telnet都没任何反应,估计先调网络再说;



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