• 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是否一致。

     

  • 相关阅读:
    Karmada大规模测试报告发布:突破100倍集群规模
    手把手教你在netty中使用TCP协议请求DNS服务器
    密码学系列之:PEM和PKCS7,PKCS8,PKCS12
    flutter系列之:用来管理复杂状态的State详解
    有一种密码学专用语言叫做ASN.1
    flutter系列之:Material主题的基础MaterialApp
    密码学的基础:X.690和对应的BER CER DER编码
    没错,请求DNS服务器还可以使用UDP协议
    flutter系列之:widgets,构成flutter的基石
    创建私有CA,我就用openSSL
  • 原文地址:https://www.cnblogs.com/wuxi/p/3346886.html
Copyright © 2020-2023  润新知