TLQ的简单收发实验

安装

环境:ubuntu 22.04

$ sudo apt install openjdk-8-jdk

创建用户 tlq

$ sudo groupadd tlq				# 创建tlq用户组
$ sudo useradd -g tlq -m tlq  	# 创建tlq用户,并指定用户组为tlq
$ sudo passwd tlq				# 为tlq设置密码
$ sudo chsh -s /bin/bash tlq 	# 设置tlq用户默认shell为bash

检查信号灯、共享内存

$ sudo sysctl -a | grep shm
$ sudo sysctl -a | grep sem

$ vim /etc/sysctl.conf		# 新增以下内容
kernel.shmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096
kernel.sem = 5120 3200 5120 5120

$ sudo sysctl -p			# 刷新以应用配置

文件打开数的检查

$ ulimit -a
$ vim /etc/security/limits.conf 	# 新增以下内容
tlq soft nofile 65536
tlq hard nofile 65536

解压压缩包, 拷贝license.dat到应用文件夹中

$ tar -xf ./Install_TLQCli_Standard_Linux2.6.32_x86_64_8.1.17.0.tar.gz
$ tar -xf ./Install_TLQ_Standard_Linux2.6.32_x86_64_8.1.17.0.tar.gz

$ cp license.dat TLQ8

$ sudo mkdir /opt/tlq
$ sudo mv TLQ8 /opt/tlq
$ sudo mv TLQCli8 /opt/tlq

设置server环境变量, 也可以cd 到TLQ目录

$ su			# 切换为root用户
$ cd /opt/tlq/TLQ8

$ cat ./setp >> ./tmp_env
$ vim ./tmp_env #将${PWD} 修改成TLQ绝对路径, 如 /opt/tlq/TLQ8

$ cat ./tmp_env >> /home/tlq/.bashrc
$ cat ./tmp_env >> ~/.bashrc

$ rm -rf tmp_env

$ exit				# 退出root用户
$ su tlq			# 切换到tlq用户
$ env | grep TLQ	# 检查环境
$ exit

设置cli环境变量

$ su 			# 切换为root用户
$ cd /opt/tlq/TLQCli8

$ cat ./setp >> ./tmp_env
$ vim ./tmp_env #将${PWD} 修改成TLQ绝对路径, 如 /opt/tlq/TLQCli8

$ cat ./tmp_env >> /home/tlq/.bashrc
$ cat ./tmp_env >> ~/.bashrc
$ rm -rf ./tmp_env

$ exit				# 退出root用户
$ su tlq			# 切换到tlq用户
$ env | grep TCLI	# 检查环境

更新所有

$ sudo chown -R tlq:tlq /opt/tlq

启停

$ tlq 				# 启动命令
$ tlq -cstop -y		# 停止命令
$ tlq -cabort -y -w1  # 强制停止

$ ps -ef | grep tlq  # 查看tl_clibroker是否启动成功
$ tlqstat -sys
$ tlqstat -qcu  # 查看qcu
$ tlqstat -qcu qcu1 -c # 查看qcu

实验

实验环境

主机名主机
node1192.168.233.101
node2192.168.233.102

实验1 cs交换

$ tlq
$ cd /opt/tlq/TLQCli8/samples/demo_java/base
$ javac *.java
$ java SendMsgCli qcu1 lq B no
$ tlqstat -qcu qcu1 -c
$ java GetMsgCli qcu1 lq 0

实验2 server之间的通信

修改配置文件

连接node1:ssh tlq@192.168.233.101

$ vim /opt/tlq/TLQ8/etc/tlqcu_qcu1.conf

[SendProcess]           # 发送进程小节
#
[SendProcessRecord]             #
SendProcID = 1          # 发送进程唯一标识
SendProcStatus = 1              # 发送进程状态,0禁用,1正常
#
#
[SendConnRecord]                # 发送连接小节
ConnName = conn1                # 连接名称
SendQueName = sq                # 连接对应的发送队列名称
ConnStatus = 1          # 发送连接状态,0禁用,1正常
HostName = 192.168.233.102              # 被连接节点的IP地址
ConnPort = 10003                # 被连接节点的端口号,端口号需大于1024
  • 修改HostName、ConnPort

连接node2:ssh tlq@192.168.233.102

$ vim /opt/tlq/TLQ8/etc/tlqcu_qcu1.conf

[SendProcess]           # 发送进程小节
#
[SendProcessRecord]             #
SendProcID = 1          # 发送进程唯一标识
SendProcStatus = 1              # 发送进程状态,0禁用,1正常
#
#
[SendConnRecord]                # 发送连接小节
ConnName = conn1                # 连接名称
SendQueName = sq                # 连接对应的发送队列名称
ConnStatus = 1          # 发送连接状态,0禁用,1正常
HostName = 192.168.233.101              # 被连接节点的IP地址
ConnPort = 10003                # 被连接节点的端口号,端口号需大于1024
  • 修改HostName、ConnPort

分别启动node1、node2 的TLQ


开始发送消息: 由node2 发送消息给 node1

连接node2:ssh tlq@192.168.233.102

$ cd /opt/tlq/TLQCli8/samples/demo_java/base/

$ javac *.java

$ java SendMsgCli qcu1 rq B 0

连接node1:ssh tlq@192.168.233.101

$ tlqstat -qcu qcu1 -c
[Send Queue General Information]:

Quename                                                Ready  Snding  Rcving   WaitAck       Delay
sq                                                         0       0       0         0           0

[Local Queue General Information]:

Quename                                                Ready  Snding  Rcving   WaitAck       Delay  Getor
lq                                                         2       0       0         0           0      0
TLQ.SYS.EVENT                                              0       0       0         0           0      0
TLQ.SYS.DEAD                                               0       0       0         0           0      0
TLQ.SYS.BROKER.CONTROL                                     0       0       0         0           0      0
TLQ.SYS.BROKER.SYN                                         0       0       0         0           0      0
TLQ.SYS.BROKER.SUB                                         0       0       0         0           0      0
TLQ.SYS.BROKER.SUBREQ                                      0       0       0         0           0      0

[Remote Queue General Information]:

Quename  SndQName   DestQName           SndConnName  HostName    	   ConnPort  ConnType  ConnStatus
rq        sq        lq                  conn1        192.168.233.102   10003      long      link
rq3       sq        TLQ.SYS.BROKER.SYN  conn1        192.168.233.102   10003      long      link

[Virtual Queue General Information]:

Quename                                           LocalQueName                                           Ready


$ java GetMsgCli qcu1 lq 0

更改用户名

$ sudo usermod -l 新用户名 tlq	# 将原tlq用户改名为新用户名
$ sudo usermod -d /home/新用户名  -m 新用户名  # 将home目录改名为新用户名

再做一遍实验即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值