TongLINK/Q在Linux系统安装手册
手册:
|
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平台
的如(兆芯、海光,Intel、AMD)等的Linux,就可以选择:
Install_TLQ_Standard_Linux2.6.32_x86_64_8.1.15.x.x.tar.gz
1.2
检查安装环境
l 操作系统
各个CPU平台(X86,ARM、MIPS)等)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/Q是32位的,则java base(JNI)接口使用的JDK也要是32位的;同样TongLINK/Q是64位的,则java base(JNI)接口使用的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中,这样每次登陆到用户之后,环境变量会自动设置,建议采用这种方式。
在麒麟V10,CentOS、RedHat等是用户的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.jar和TLQ8/java/lib/
TongJMS.jar和TLQ8/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.0、8.1、9.0
Expire
Date : License过期时间。正式的License 为UNLIMITED
Max Thin Clients
: 客户端最并发数是多少;JMS应用并发数也是走此参数,但是JMS并发数是此参数的 1/3 。当前license的Max Thin
Clients是100,则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/Q的ipc是否清理干净。如果没有的话继续清理。
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/Q的ipc 如下所示:
[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/Q的ipc是否清理干净:tlqipc
用tlqipc 检查,如果第二列不是 -1 ,前面是s的则使用ipcrm -s id;前面是m 的用 ipcrm
-m id 删除第二列的值,直到清理干净。