2024年1月13日发(作者:)

TongLINK/Q常见问题处理指南

北京东方通科技支持服务中心

目 录

1.

2.

3.

引言 ................................................................................................................................................ 3

故障处理前期准备 ........................................................................................................................ 3

故障处理流程 ................................................................................................................................ 4

3.1.

3.2.

故障处理流程 ....................................................................................................................... 4

节点运行诊断流程 ............................................................................................................... 4

3.2.1.

3.2.2.

3.2.3.

3.2.4.

3.2.5.

3.3.

操作系统核心参数 .......................................................................................................... 5

TongLINK/Q环境变量 ..................................................................................................... 6

查看TongLINK/Q配置文件 ............................................................................................ 6

查看系统资源和进程 ...................................................................................................... 7

查看文件 .................................................................................................. 8

网络连接诊断流程 ............................................................................................................... 9

3.3.1.

3.3.2.

3.4.

网络层连通性诊断 .......................................................................................................... 9

使用TongLINK/Q命令检测节点间的连通性 .............................................................. 10

检查队列中的消息 ............................................................................................................. 11

3.4.1.

4.

检查错误日志 ........................................................................................... 12

【附录】 ...................................................................................................................................... 13

4.1.

4.2.

4.3.

常用系统命令 ..................................................................................................................... 13

核心参数 ............................................................................................................................. 13

SETP文件DEMO .................................................................................................................. 14

1. 引言

TongLINK/Q的常见故障主要出现在基于TongLINK/Q架构的应用系统运行时。此文档将重点描述如何判断和处理TongLINK/Q常见的故障问题。

2. 故障处理前期准备

在进行故障处理之前,必须先了解TongLINK/Q运行环境的相关信息,具体的信息需求如表格所示:

类型

操作系统类型

操作系统版本

TongLINK/Q产品版本

TongLINK/Q架构模式

故障现象描述

项目名称

客户名称

联系人

联系电话

内容

图2.1 故障处理需求表

备注

注:

1、表格中红色字体选项是东方通科技公司支持服务中心人员进行故障处理时必须了解的信息;

2、“TongLINK/Q架构模式”包括多节点、转发、集群、订阅/发布、JMS等;

3. 故障处理流程

3.1. 故障处理流程

TongLINK/Q故障处理顺序如下:查看节点运行情况、查看网络运行状况、判断队列中消息运行情况、查看应用日志判断故障等;具体的总流程如下:

开始节点运行诊断流程否客户方节点正常运行?是服务方节点正常运行?是否节点运行诊断流程网络连接诊断流程否与服务方节点是否连通是与服务方节点是否连通是接收队列是否正常是否网络连接诊断流程检查队列并跟踪日志否发送队列是否正常是否检查队列并跟踪日志是是否应用问题否是否应用问题否是解决应用问题解决应用问题发送方没有问题结束

图3.0 故障处理总流程

3.2. 节点运行诊断流程

在处理TongLINK/Q可能出现的问题时,首先需要要确保客户方和服务方的TongLINK/Q正常运行,网络连接正常,并且机器资源够用。具体的处理流程如下图3.2所示:

开始操作系统内存/CPU/磁盘空间是否够用是节点环境变量是否正确是否调整系统相关资源否修改节点环境变量TLQ配置文件是否正常是否停止TLQ,修改配置文件重新启动系统IPC资源/进程是否正常是是否有错误是否停止TLQ,清空所有IPC/进程重新启动否参考“问题集”解决相关错误结束

图3.1 节点运行诊断流程

每一检查点的具体步骤描述将在下文具体描述。

3.2.1.

操作系统核心参数

操作系统核心参数的大小会影响TongLINK/Q的正常运行(包括启动)。TongLINK/Q运行时需要调整的操作系统核心参数包括共享内存、信号灯、打开文件数、进程数等。

另外,还必须保证当前操作系统的内存、CPU以及安装TongLINK/Q的当前用户磁盘空间足够用。具体查看命令查看附录中“常见操作系统命令”部分。

3.2.2.

TongLINK/Q环境变量

需要检查TongLINK/Q的环境变量是否齐全,并且指向的目录正确。在UNIX和LINUX系统中可以用命令行的方式查看TongLINK/Q环境变量是否正确,正确显示入下(假设安装TongLINK/Q的是tlq用户,安装在/home/tlq目录下):

$ su – tong

$ env|grep TLQ

TLQHOMEDIR=/home/tlq

TLQMSGDIR=/home/tlq/msg

TLQCONFDIR=/home/tlq/etc

TLQRCVFILESDIR=/home/tlq/rcvfiles

TLQSNDFILESDIR=/home/tlq/sndfiles

TLQFILESDIR=/home/tlq/files

TLQLOGDIR=/home/tlq/log

$ env|grep PATH

PATH=.:/home/tlq/bin :……

#假如需要启动管理界面或者运行java程序,还应该有与java相关的环境变量

注:

TongLINK/Q自身的环境变量包括:

TLQCONFDIR------配置文件的存放目录

TLQLOGDIR-------日志文件的存放目录

TLQFILESDIR-----传输文件存放目录

TLQSNDFILESDIR----消息传输过程中,发送消息文件的存放目录

TLQRCVFILESDIR---消息传输过程中,接收消息文件的存放目录

TLQMSGDIR-------系统中队列的映射文件存放目录

PATH------------可执行程序的存放目录

CLASSPATH-------JMS和JAVA接口的存放目录

JAVA_HOME-------指向JDK的安装路径

PATH :TongLINK/Q核心进程已经应用程序服务方程序存放路径

假如使用Java应用程序还需要根据操作系统的不同设定相关的LD_LIBRARY_PATH/SHLIB_PATH/ SHLIB_PATH等

以上参数的具体设定方法见TongLINK/Q手册《TongLINKQ系统管理》第2章 “运行”中 “配置环境变量”章节的描述。

3.2.3.

查看TongLINK/Q配置文件

主要关注下级节点该配置文件中[UpNodeRecord]小节的“UpName” 、

“ConnPort”和“NodeIP”项的值与上级节点该配置文件中[SelfNode] 的“LocalNodeName”、[System]中的“ListenPort”以及上级节点所在机器的IP地址分别一一对应;另外上级节点 [DownNodeRecord]小节的“DownName”与下级节点中[SelfNode] 的“LocalNodeName” 一一对应;

每个发送队列中“QueDestNode”必须在节点配置中配置(上级或者下级节点);

各配置文件配置项的具体描述见TongLINK/Q手册《TongLINK/Q系统管理》第3章 “参数配置”中各章节的描述;

3.2.4.

查看系统资源和进程

TongLINK/Q45正常运行后,产生的IPC资源包括:5块共享内存,3块信号灯;并且至少有2个进程启动(tld、tmoni,假如远程代理或者JMS服务还应该有其他的进程)。如下所示:

$ su – tlq

$ ipcs|grep tlq

m 3407920 0x124c0b73 --rw-rw-rw- tlq usr

m 3014731 0x124c0b51 --rw-rw-rw- tlq usr

m 11141248 0x124c0b6d --rw-rw-rw- tlq usr

m 21102732 0x124c0b61 --rw-rw-rw- tlq usr

m 14942381 0x124c0b50 --rw-rw-rw- tlq usr

s 11796510 0x124c0b50 --ra-ra-ra- tlq usr

s 18350126 0x4624c0b2 --ra-ra-ra- tlq usr

s 1441910 0x124c0b71 --ra-ra-ra- tlq usr

$ ps -ef|grep tong

tlq 68928 1 1 11:56:51 - 0:35 /home/tlq/bin/tlqd

tlq 73514 1 0 11:56:51 - 0:00 /home/tlq/bin/tlqmoni

……

如果与此不符合,说明TongLINK/Q启动不正常,需要停止TongLINK/Q,停止与TongLINK/Q相关的进程,清空与TongLINK/Q相关的IPC资源,重新启动。

#查看进程:

$ ps -ef|grep tlq

tlq 68928 1 1 11:56:51 - 0:35 /home/tlq/bin/tlqd

tlq 73514 1 0 11:56:51 - 0:00 /home/tlq/bin/tlqmoni

……

(能看到一个tlqd和一个tlqmoni进程存在,表示启动正常)

#停止进程:

$ kill -9 68928 -9 73514

#查看IPC资源:

$ ipcs|grep

tong

m 10879106 0x12900ee2 --rw-rw---- tlq usr

s 6291495 0x12900ee2 --ra-ra---- tlq usr

……

#清空IPC资源:

$ ipcrm –m 10879106 -m 13631628 –s1048665

在TongLINK/Q启动时,如果操作系统的IPC资源不足,则在启动时日志中出现错误提示信息:例如:

3.2.5.

查看文件

系统正常启动的日志如下:

$su – tlq

$tlq

Because of the large size queues,Start Kernel process maybe take a

TongLINK/Q start OK !

否则,说明TongLINK/Q启动有问题;具体的问题处理详见“TongLINK/Q问题集”。

3.3. 网络连接诊断流程

开始下级节点机器的hosts文件是否添加了上级节点与IP地址对应关系是否向hosts文件填写上级节点与IP对应关系从客户方能否ping通服务端节点IP是从客户方能否访问服务方节点监听接口是否否调整系统相关资源两节点间是否连通是否使用工具判断并处理结束

图3.2 网络连接诊断流程

3.3.1.

网络层连通性诊断

TongLINK/Q两个节点连接不通,如果节点自身运行、配置没有问题,那么出现问题的原因可能是:

 网络不通;

检查及解决方法:

在下级节点所在机器执行:“ping

上级节点所在机器IP地址”

假如ping不通说明网络有问题,联系网络管理员解决问题;

 下级节点或者上级节点机器上有防火墙,并且没有开放TongLINK/Q监听端口,阻值了TongLINK/Q节点间的连通;

检查及解决方法:

在下级节点所在机器执行如下命令:

telnet

上级节点机器IP地址

监听端口号

如果执行后窗口无任何字符显示,并且锁死,不能进行任何操作则为正常结果,即IP地址和端口号均可用;否则联系网络管理员解决问题; 例如:

#在unix操作系统有如下显示表示端口号可用:

$ telnet 168.1.1.111 50010

Connected to 168.1.1.111.

Escape character is '^]'.

Connection closed.

#如果有如下显示表示不可用

$ telnet 168.1.1.111 10240

telnet: connect: A remote host refused an attempted connect operation.

 TongLINK/Q上级节点所在机器没有开通TongLINK/Q监听端口(上级节点文件中“SelfPort”所指的端口号;

检查及解决方法同上;

 有两个下级节点重名;

检查及解决方法:

在服务方节点,如果用tlqstat –l命令屏幕显示某一下级节点连接状态时断时续,并且上级节点的中有如下错误信息有如下信息“CheckSIPName error,……, already exist”等信息,说明有两个不同IP地址的下级节点名重名了。

通用解决方法是修改其中之一节点名名称,因为在同一个TongLINK/Q节点构造的网络中,节点名必须唯一;

3.3.2.

使用TongLINK/Q命令检测节点间的连通性

用tlq用户登录并执行tlqstat命令判断节点是否连通

$su - tlq

$tlqstat –l

# 节点不通信息显示举例如下:

:

[M2]

:

[TLQ5220] ----------DISCONN

===================== 1213 09:18:10.083 ===============================

# 节点连通信息举例如下:

:

[M2]

:

[TLQ5220] ----------CONNECT IP=168.1.1.139 PORT=47233

===================== 1213 09:18:10.083 ===============================

如果tlqstat -l显示DISCONN状态,证明与接收节点的TongLINK/Q没有成功连接,请参看“3.3.1网络层连通性诊断”中的诊断步骤。

3.4. 检查队列中的消息

 检查发送队列消息数命令: tlqstat –s 发送队列名

(假设发送队列名是send)

$

tlqstat -s send

……

[SNDQ0,A][P1]: [WAITMSGLINKHEAD]: Head=1 Tail=1 Num=1 Max=2 Min=0 Limit=1000 c

Size=424 Ptr=0

……

“Num=1” 表示当前名为send的发送队列中消息的数量是1。

如果在发送队列中有消息堆积,可能原因是:

 消息发向的目的地节点与此节点连接不通,或者目的节点名不对;

 目的节点对应此发送队列的接收对列已满;

 其他的原因请参看“TongLINK/Q问题集”。

 检查接收队列消息数命令: tlqstat –r 接收队列名

(假设接收队列名是RcvQ1)

$ tlqstat -r RcvQ1

……

[ReadyMsgsLinkHandle]: Head=0 Tail=0 Num=1 Max=1 Min=0 Limit=2000 Size=424 Ptr=0

……

“Num=1” 表示当前名为RcvQ1的接收队列中消息的数量是1。

如果在接收队列中有消息堆积,可能原因是:

 接收对列已满(可能原因:没有应用程序接收消息或者接收进程太少);

 用条件选择模式接收消息,但队列中的消息都不符合选择条件;

 其他的原因请参看“TongLINK/Q问题集”。

3.4.1. 检查错误日志

错误日志文件位于$TLQLOGDIR环境变量对应的目录下(即TongLink/Q安装目录下的log目录)。错误分析具体如下:

# 信息举例:

……

E 0523 17:34:22.880|2|173|1:67:67|InitListenSock bind 9 error

……

 每行的最开始是该行信息的类型,E 表示错误信息,W表示警告信息,I表示正常;

 蓝色标识的信息(0523 17:34:22.880)是日志发生的时间,精确到毫秒。

 红色标识的用冒号分割开信息(|1:67:67|)是TongLINK/Q记载的3个错误号, 其中第一个数字是TongLINK/Q的错误号,对应的错误信息可以用“tlqerr 错误号”去查找对应的错误信息,第二个数字是Unix下的系统错误号,对应的错误信息可从/usr/include/error.h文件中查找,第三个数字是Win平台下的错误号,使用Microsoft Visual

Studio所带的Tools中的“error lookup”工具进行查看。

4. 【附录】

4.1. 常用系统命令

 跟踪日志

tail –f

filename

 查看ipc资源

ipcs |grep

tong

 删除ipc资源

ipcrm -m序号 –s序号 –q 序号

 查看端口状态

netstat –an

 查看系统进程

ps –ef |grep

tong

 cpu使用状态

top、sar、vmstat

4.2. 核心参数

 LINUX:

/proc/sys/kenerl中的文件msg* sem shm*

 HP-UNIX:

使用sam命令进入界面配置

 AIX:

Vmtune命令

 SOLARIS:

/etc/system文件

 SCO UNIX:

使用scoadmin进入界面配置

编辑/etc/conf/cf.d目录下的stune和mtune两个文件

 通用命令:

ulimited –f 同时打开文件个数

4.3. setp文件Demo

Windows举例:

假设TongLINK/Q安装在C:Program FilesTongtechTLQ63目录下,环境变量如下:

set TLQHOMEDIR=C:Program FilesTongtechTLQ63

set TLQCONFDIR=%TLQHOMEDIR%etc

set TLQMSGDIR=%TLQHOMEDIR%msg

set TLQLOGDIR=%TLQHOMEDIR%log

set TLQRCVFILESDIR=%TLQHOMEDIR%rcvfiles

set TLQSNDFILESDIR=%TLQHOMEDIR%sndfiles

set PATH=%PATH%;%TLQHOMEDIR%bin;

set

CLASSPATH=%CLASSPATH%;%TLQHOMEDIR%;%TLQHOMEDIR%;%TLQHOMEDIR%

Unix举例:

假设TongLINK/Q安装在/home /TLQ63目录下,环境变量如下:

TLQHOMEDIR=/com/support/TLQ63

TLQCONFDIR=$TLQHOMEDIR/etc

TLQMSGDIR=$TLQHOMEDIR/msg

TLQLOGDIR=$TLQHOMEDIR/log

TLQRCVFILESDIR=$TLQHOMEDIR/rcvfiles

TLQSNDFILESDIR=$TLQHOMEDIR/sndfiles

PATH=$PATH: $TLQHOMEDIR/bin

CLASSPATH=$CLASSPATH:

$TLQHOMEDIR/java/lib/:$TLQHOMEDIR/java/lib/:$T

LQHOMEDIR/java/lib/

export TLQHOMEDIR TLQCONFDIR TLQMSGDIR TLQLOGDIR

TLQRCVFILESDIR TLQSNDFILESDIR PATH CLASSPATH