案例/方案
全国客户热线
010-51669839
案例方案 • 首页 > 案例方案 > 东方通TongLINK/Q在Linux系统安装手册
东方通TongLINK/Q在Linux系统安装手册

TongLINK/QLinux系统安装手册

 

 

 

 

手册:

TongLINK/Q安装手册

创建人:

 刘信

版本:

 V1.2      2022.03.22 修定只在Linux下安装的操作步骤

 

 

1.1     TongLINK/Q版本选择

Install_TLQCli_Standard_Linux2.6.32_x86_64_8.1.15.2_P3.tar.gz

Install_TLQCli_Standard_Linux4.14.0_aarch64_8.1.x.x.tar.gz

Install_TLQCli_Standard_Linux4.19.90_mips64el_8.1.x.x.tar.gz

Install_TLQ_Standard_Linux2.6.32_x86_64_8.1.x.x.tar.gz

Install_TLQ_Standard_Linux4.14.0_aarch64_8.1.x.x.tar.gz

Install_TLQ_Standard_Linux4.19.90_mips64el_8.1.x.xtar.gz

 

说明:

含有TLQCli字样的,表示是客户端版本,不带Cli字样的安装包,是服务端安装包,客户端安装包只提供一些jar包和动态库.

LinuxX.xx.xx表示是在Linux的哪个内核版本上编译的,可以运行在此内核版本及以上的操作系统版本。

其中X86_64表示运行在X86 平台上的64位版本。

mips64 表示是龙芯平台上的64位版本。

aarch64表示是ARM平台上的版本,可以运行在飞腾、华为的鲲鹏等ARM指令集的CPU上。

8.1.15.2_P3表示是TLQ的版本号。

       

如果是ARM平台的Linux,就可以选择

Install_TLQ_Standard_Linux4.14.0_aarch64_8.1.x.x.tar.gz

如果是龙芯平台的的Linux,就可以选择:

Install_TLQ_Standard_Linux4.19.90_mips64el_8.1.15.x.x.tar.gz

如果是X86平台 的如(兆芯、海光,IntelAMD)等的Linux,就可以选择:

Install_TLQ_Standard_Linux2.6.32_x86_64_8.1.15.x.x.tar.gz

1.2     检查安装环境

l  操作系统

各个CPU平台(X86ARMMIPS))Linux的发行版本操作系统,如麒麟、统信等。

l  网络连接

TongLINK/Q支持TCP/IP协议。安装前,需要先检查防火墙检查是否放开下面的端口。这些是默认端口,可以根据实际情况修改

默认侦听端口

功能

说明

备注

10024

JMS接口使用默认侦听10024

使用JMS接口,需要连接此端口

 

10261

客户端使用端口(默认没有开,只有使用客户端才需要启动此端口)

使用TLQ客户端,需要开启此端口,在对应的配置文件(tlq_qcu.conf中找CliBrokerStatus = 0,改成CliBrokerStatus = 1

 

10003

Server-Server中使用,默认侦听10003

 

 

10252

监控用端口。默认不启动;在tlsys.conf中配置或者修改。

需要作用tlqremote去启动,tlqremote –cstop 停止。

启动之后侦听此端口的进程是tl_rmt

 

 

l  磁盘空间

安装文件目录需要500M磁盘空间,日志目录、收发文件目录以及队列文件都需要磁盘空间,跟配置的队列大小及TLQ传输的文件多少相关,建议至少要10G的磁盘空间,如果队列数多,还要增加。使用df -k 或者df -m命令检查磁盘空间使用情况。

 

l  JDK

支持JDK1.5及以上

使用命令java -version检查当前系统安装的JDK版本。

另外TongLINK/Q和编程使用的接口相关,如TongLINK/Q32位的,则java baseJNI)接口使用的JDK也要是32位的;同样TongLINK/Q64位的,则java baseJNI)接口使用的JDK也要是64位的。JMS接口通过socket连接,则无此限制。JMS通过本地调用接口(JNI)的JDK也要TongLINK/Q的位数一致,要么都是32位,要么都是64位。

1.3   安装用户

安装用户需要提前建好,本文档以安装运行用户都是tlq用户来说明:

root用户创建tlq用户:

useradd  -d /home/tlq –m tlq

1.4      操作系统参数检查及修改

1.4.1  核心参数共享内存检查

大多数64位的Linux操作系统都不需要执行步骤 。

执行sysctl -a |grep shm检查下面的参数,如果比下面的参数大,则不需要调整,如果小,则需要调整。

kernel.shmmax = 68719476736

1.4.2  核心参数kernel.sem检查及修改(大多Linux都需要调整此参数

执行sysctl -a |grep sem 检查下面的参数,如果比下面的参数大,则不需要调整,如果小,则需要调整。

kernel.sem = 5120       32000   5120    5120

如果当前操作系统的各个参数超过上述值 ,则不需要调整。

1.4.3  共享内存及信号灯修改方法

 

root修改/etc/sysctl.conf,如果有这些参数,并且比上述建议建议值小,则调大;如果没有这些参数项,则增加到这个配置文件,保存。

并以root用户执行 sysctl -p /etc/sysctl.conf

如果执行成功,会显示新修改的参数。

1.4.4  文件描述符检查及修改方法

操作系统中TongLINK/Q应用用户最多打开文件数,不小于1024

查看命令:ulimit –a

$ ulimit -a

core file size          (blocks, -c) 0

data seg size           (kbytes, -d) unlimited

scheduling priority             (-e) 0

file size               (blocks, -f) unlimited

pending signals                 (-i) 31368

max locked memory       (kbytes, -l) 64

max memory size         (kbytes, -m) unlimited

open files                      (-n) 1024

pipe size            (512 bytes, -p) 8

POSIX message queues     (bytes, -q) 819200

real-time priority              (-r) 0

stack size              (kbytes, -s) 10240

cpu time               (seconds, -t) unlimited

max user processes              (-u) 1024

virtual memory          (kbytes, -v) unlimited

file locks                      (-x) unlimited

open files 对应的就是最多打开文件数。

修改方法:以root用户编辑/etc/security/limits.conf文件,修改对应用户的nofiles数值。(以下显示以修改tlq的配置为例,修改default用户的配置将影响所有用户)

tlq      hard     nofile         65535

tlq      soft     nofile         65535

    修改完之后,退出tlq用户登陆,重新再登录,执行ulimit -a检查open files是否生效

1.5     安装步骤

1.5.1  TLQ的安装包和License传到服务器

根据现场环境实际情况,将TongLINK/Q安装包和license.dat 采用ftp ,ssh等方式上传到服务器,需要注意的是,license.dat注意用二进制方式传输。以TLQ安装路径为/home/tlq,安装平台是X86为例, X86平台选Install_TLQ_Standard_Linux2.6.32_x86_64_8.1.15.x.x.tar.gz,将此安装包上传到/home/tlq

1.5.2  解压

Linux系统用tar -zxvf 解压tar,会在当前目录下生成TLQ8目录。

tar -zxvf Install_TLQ_Standard_Linux2.6.32_x86_64_8.1.15.x.x.tar.gz

 

1.5.3  设置环境变量

TLQ8目录下有setp 这样一个设置环境变量的脚本。如下所示:

tlq$ ls

bin  errormsg.xml  etc  incl  java  lib  log  msg  rcvfiles  samples  setp  sndfiles  tlq_ver.dat  tools

 

设置环境变量是将setp的环境变量设置到用户的.profile中,这样每次登陆到用户之后,环境变量会自动设置,建议采用这种方式。

在麒麟V10CentOSRedHat等是用户的HOME目录下的.bash_profile 

l  setp的全部内容写到.bash_profile或者.profile中。此处使用重定向写到.bash_profile.注意:此步执行之后没有输出,只能执行一次。

tlq$ cd TLQ8

tlq/TLQ8> cat setp >> ~/.bash_profile

 

l  修改.profile或者.bash_profile中的TLQHOMEDIR

tlq$ cd ~

tlq/TLQ8> vi .profile  或者vi .bash_profile

 

修改TLQHOMEDIR=$PWD,$PWD修改为实际的安装目录,如/home/tlq/TLQ8,则为TLQHOMEDIR=/home/tlq/TLQ8

 

修改完成后,重新退出用户,再登陆。登陆之后检查设置的环境是否起作用,命令如下:set 或者env命令查看环境变量

tlq >env |grep TLQ

TLQCONFDIR=/home/tlq/TLQ8/etc

TLQHOMEDIR=/home/tlq/TLQ8

TLQLICENSEDIR=/home/tlq/TLQ8

TLQLOGDIR=/home/tlq/TLQ8/log

TLQMSGDIR=/home/tlq/TLQ8/msg

TLQRCVFILESDIR=/home/tlq/TLQ8/rcvfiles

TLQSNDFILESDIR=/home/tlq/TLQ8/sndfiles

LD_LIBRARY_PATH=/home/tlq/TLQ8/lib:

LIBPATH=/home/tlq/TLQ8/lib:

其中CLASSPATH或者PATH环境变量显示的可能跟上面的有些不同,但是需要注意的是在CLASSPATH环境变量中,一定要有TLQ8/java/lib/tlclient.jarTLQ8/java/lib/ TongJMS.jarTLQ8/java/lib/javaee.jar

PATH环境中一定要有TLQ8/bin.

1.5.4  安装license

license.dat放到TLQ8目录。注意,license.dat需要读写权限。

至此安装完成

1.6     TLQ8常用命令

1.6.1  启停:

启动顺序:先启动TLQ,再启动应用程序。

停止顺序:先停应用程序,再停止TLQ

启动命令:tlq

启动监控代理进程:tlqremote         (只有需要TLQ的远程API接口或者管理控制台才启动此进程。默认侦听10252端口)

停止命令:tlq  -cstop  -y      -w1   有应用连接TLQ时,会停不下来。使用下面的强制停止命令:

强制停止:tlq  -cabort  -y -w1

停止监控代理进程命令:tlqremote -cstop

 

停止之后,使用ps -ef|grep tl_ 来检查进程是否停止干净。

 

1.6.2  查看TLQ节点License信息

命令:tlqstat –lic

执行之后显示信息:

  [License Information]:

License Version =[7.2]

License Type    =[trial]

Active Date     =[2011-05-09 00:00:00]

Expire Date     =[2011-08-09 00:00:00]

Customer        =[测试用户]

Project Name    =[测试项目]

Contract Number =[]

Product Name    =[TongLINK/Q]

Max QCUs        =[100]

Max Applications=[100]

Max Thin Clients=[100]

Max Connections To Send =[100]

Max Connections To Recv =[100]

 

License信息关注点:

License Version : 表示是适用TLQ的哪个版本信息。一般会有7.2 8.08.19.0

Expire Date     License过期时间。正式的License UNLIMITED

Max Thin Clients   :  客户端最并发数是多少;JMS应用并发数也是走此参数,但是JMS并发数是此参数的 1/3 。当前licenseMax Thin Clients100,则JMS应用的最大并发数是33.

1.6.3  查看TLQ有几个QCU的命令

命令:

        tlqstat  -qcu –ct 1

执行之后显示信息:

 

1.6.4  查看TLQ各个队列中的消息数

命令:

    tlqstat  -qcu  qcu  -c

执行之后的结果:队列中的消息数是是第5列,队列名长了之后有错位。

1.6.5  查看一个指定的Qcu的所有发送连接状态信息

即看指定QCU中主动发起的和其它Qcu的连接状态,如果和其它Qcu处理断开状态,那就可以判断对方的Qcu没有启动或者网络有问题。

命令:

    tlqstat  -snd  qcu  -1 -ct 1

其中,如果不带-ct 1则会循环显示,直到按Ctrl +C中断。

例如查看qcu的连接状态:tlqstat –snd  qcu1 1 –ct 1 显示如下信息:

close状态时,需要检查:

168.1.1.122机器上的TLQ是否启动;端口10013是否被防火墙禁止访问;从本机器到168.1.1.122网络是否正常。

使用ssh -v IP -p port 检查到对方的IP和端口是不是通。如下所示表示不通:

如下所示:表示到192.168.55.84 10003端口防火墙是放开的

 

1.6.6  查看其它TLQ连接到指定的Qcu的状态信息。

命令:

    tlqstat  -rcv QCU 1 -ct 1

其中,如果不带-ct 1则会循环显示,直到按Ctrl +C中断。

例如查看其它TLQ连到qcu1的连接状态:tlqstat –rcv qcu1 1 –ct 1 显示如下信息:

如果只显示如下信息,表示没有其它TLQ连到此Qcu中。

如果有其它的TLQ连到此QCU中,则有如下显示:

 

如果此QCU为中心节点的,那么就可以通过此命令查看其它节是否连通上来。过节点SndNode就可以知道是哪个节点。

1.6.7  TLQ异常杀进程清理IPC操作步骤

当系统异常,使用tlq –cabort –y –w1  tlqremote –cstop 无法停止TongLINK/Q的进程时,则采用下面的操作流程。

总流程

1)在启动TLQ的用户使用命令强制杀掉TongLINK/Q的所有进程。

2)检查进程是否有遗漏或残留。有的话继续杀掉。

3)清理IPC

4)检查TongLINK/Qipc是否清理干净。如果没有的话继续清理。

5)启动TongLINK/Q, 启动监控进程。

具体操作步骤如下:

1)  在启动TLQ的用户 强制杀TongLINK/Q进程

在启动用户使用:  ps -ef |grep tl_|grep -v grep |awk ’{print $2}’ |xargs kill -9 杀掉TongLINK/Q的全部进程

2)检查进程是否停止完全: ps –ef |grep tl_|grep –v grep

 

3)  使用命令:tlqipc –rm  清理TongLINK/Qipc 如下所示:

[liuxin@CentOS65 TLQ8A]$ tlqipc -rm 2

==========================TLQ  IPC==========================

        Type    ID                      Key

        m       -1                      0x10103861      

        m       -1                      0x10103862      

        m       -1                      0x10103878      

        m       -1                      0x10103879      

        m       -1                      0x1010387a      

        m       -1                      0x1010387b      

        m       -1                      0x1010387c      

        m       -1                      0x1010387d      

        m       -1                      0x1010387e      

        m       -1                      0x1010387f      

        m       -1                      0x10103880      

        m       -1                      0x10103881      

        m       -1                      0x10103882      

        m       -1                      0x10103883      

        m       -1                      0x10103884      

        m       -1                      0x10103885      

        m       -1                      0x10103886      

        m       -1                      0x10103887      

        m       -1                      0x10103888      

        m       -1                      0x10103889      

        m       -1                      0x1010388a      

        m       -1                      0x1010388b      

        m       -1                      0x1010abb5      

        m       -1                      0x1010abb3      

        m       -1                      0x1010abb4      

        s       -1                      0x10103861      

        s       -1                      0x10103862      

        s       -1                      0x10103868      

        s       -1                      0x1010abb6      

        s       -1                      0x1010abb7      

==========================TlqRemote  IPC==========================

        Type    ID                      Key

        m       -1                     0x10121a60      

        s        -1                     0x10121a60     

 当第二列都为 -1时,表示清理干净。

4)检查TongLINK/Qipc是否清理干净:tlqipc

tlqipc 检查,如果第二列不是  -1 ,前面是s的则使用ipcrm  -s id;前面是m 的用 ipcrm  -m id 删除第二列的值,直到清理干净。