`
yld387xs
  • 浏览: 15018 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

AIX平台TONGLINK/Q安装与配置

阅读更多

AIX平台TONGLINK/Q安装与配置
2011年02月23日
  AIX平台TONGLINK/Q安装与配置
  参考手册 1
  1 文档说明 3
  1.1 编写目的 3
  1.2 文档范围 3
  1.3 名词定义 3
  2 TONGLINK/Q安装 3
  2.1 VG、LV、FS准备 3
  2.2 用户准备 3
  2.3 安装TONGLINK/Q 3
  3 环境变量设置 5
  4 在HA中的部署 6
  5 TLQ配置 8
  5.1 服务器节点 8
  5.2 客户端代理 9
  6 TLQ常用命令 9
  1 文档说明
  本章将简要地说明该技术文档编写的目的,使用范围。
  1.1 编写目的
  本文档的目的在于阐述在AIX平台下,如果安装配置TongLink/Q软件,并实现在HA环境下的自动切换启动。
  1.2 文档范围
  本文档的阅读、使用者为系统管理员。
  本文档所使用的系统为:IBM AIX 5
  1.3 名词定义
  TongLink/Q: 消息中间件TongLINK/Q是基于消息队列或消息传递的消息中间件。它通过提供不同平台上的一致的操作与应用开发接口,方便应用系统的集成与互联互通,主要功能是在应用程序之间提供可靠的消息传送。
  2 TongLink/Q安装
  2.1 vg、lv、fs准备
  在rootvg上建立/TongLink文件系统,大小为2G,lv为lvtonglink
  (每个ppsize为64M)
  在外接存储上面建立应用vg,例如iaspapapplvg(如果已经有应用vg,则不用重新建立新的vg),然后在该vg上建立/apps/tlq文件系统,大小为4G,lv为lvtlq
  2.2 用户准备
  建立运行TongLink/Q的用户 tlqadm和组tlqgrp
  2.3 安装TongLink/Q
  以国际业务影响系统为例:
  在/TongLink下解压安装包R_TLQ6.3_AIX5.1.tar.Z
  在/TongLink目录下,产生一个license文件和一个软件目录
  license文件:TlqLicense
  软件目录:TLQ63
  /TongLink/TLQ63目录下有以下目录和文件:
  drwxr-xr-x   2 tlqadm   tlqgrp          256 Nov 05 2007  sndfiles
  drwxr-xr-x   2 tlqadm   tlqgrp          256 Nov 05 2007  rcvfiles
  drwxr-xr-x   4 tlqadm   tlqgrp          256 Nov 05 2007  java
  drwxr-xr-x   2 tlqadm   tlqgrp          256 Nov 05 2007  files
  drwxr-xr-x   2 tlqadm   tlqgrp          256 Nov 05 2007  incl
  -rwxr-xr-x   1 tlqadm   tlqgrp          767 Nov 05 2007  setp
  drwxr-xr-x   9 tlqadm   tlqgrp          256 Nov 05 2007  samples
  -rw-r--r--   1 tlqadm   tlqgrp          766 Nov 05 2007  readme.txt
  drwxr-xr-x   2 tlqadm   tlqgrp          256 Nov 05 2007  lib
  -rw-r--r--   1 tlqadm   tlqgrp        16992 Nov 05 2007  errormsg.xml
  drwxr-xr-x   2 tlqadm   tlqgrp          256 Aug 03 13:25 log
  drwxr-xr-x   2 tlqadm   tlqgrp          256 Aug 03 13:56 etc
  drwxr-xr-x   2 tlqadm   tlqgrp         4096 Aug 03 20:04 msg
  -rwxr-----   1 tlqadm   tlqgrp          933 Aug 04 11:04 .profile
  drwxr-xr-x   2 tlqadm   tlqgrp         4096 Aug 04 11:23 bin
  将这个目录下的:etc log msg  sndfiles  rcvfiles  files这6个目录复制到/apps/tlq下
  这几个目录里面的内容,在HA切换,在备机启动TLQ时,需要调用里面的内容,所以要将这几个目录里面的内容复制到共享存储上。
  [HQs_IASP_A:root]:/apps/tlq> ls -ltr
  total 8
  drwxr-xr-x   2 root     system          256 Aug 04 09:46 lost+found
  drwxr-xr-x   2 tlqadm   tlqgrp          256 Aug 04 10:33 etc
  drwxr-xr-x   2 tlqadm   tlqgrp          256 Aug 04 10:35 sndfiles
  drwxr-xr-x   2 tlqadm   tlqgrp          256 Aug 04 10:35 rcvfiles
  drwxr-xr-x   2 tlqadm   tlqgrp          256 Aug 04 10:36 log
  drwxr-xr-x   2 tlqadm   tlqgrp          256 Aug 04 11:05 files
  drwxr-xr-x   2 tlqadm   tlqgrp         4096 Aug 04 15:43 msg
  将/TongLink目录和/apps/tlq目录下的所有文件和目录的属组都改成是tlqadm和tlqgrp
  # chown -R tlqadm:tlqgrp /TongLink
  # chown -R tlqadm:tlqgrp /apps/tlq
  3 环境变量设置
  编辑/TongLink/TLQ63/.profile文件
  将以下内容复制到/TongLink/TLQ63/.profile中去
  TLQHOMEDIR=/TongLink/TLQ63; export TLQHOMEDIR
  TLQCONFDIR=/apps/tlq/etc; export TLQCONFDIR
  TLQLOGDIR=/apps/tlq/log; export TLQLOGDIR
  TLQFILESDIR=/apps/tlq/files; export TLQFILESDIR
  TLQSNDFILESDIR=/apps/tlq/sndfiles; export TLQSNDFILESDIR
  TLQRCVFILESDIR=/apps/tlq/rcvfiles; export TLQRCVFILESDIR
  TLQMSGDIR=/apps/tlq/msg; export TLQMSGDIR
  PATH=$PATH:$TLQHOMEDIR/bin:$TLQHOMEDIR/java/bin:
  export PATH
  CLASSPATH=$TLQHOMEDIR/java/lib/tlclient.jar:$TLQHOMEDIR/java/lib/tlqadapter.jar:$TLQHOMEDIR/java/lib:$TLQHOMEDIR/samples/Jni:.:$CLASSPATH
  export CLASSPATH
  LD_LIBRARY_PATH=$TLQHOMEDIR/lib  #for DEC SCO SUN  LINUX
  export LD_LIBRARY_PATH
  LIBPATH=$TLQHOMEDIR/lib          #for IBM
  export LIBPATH
  SHLIB_PATH=$TLQHOMEDIR/lib       #for HP
  export SHLIB_PATH
  export PATH
  if [ -s "$MAIL" ]           # This is at Shell startup.  In normal
  then echo "$MAILMSG"        # operation, the Shell checks
  fi                          # periodically.
  【说明】:
  TLQMSGDIR指向/app/tlq/msg #此目录存放TLQ内存在硬盘上的映象。注意(此目录中所有文件请不要删除,如果删除了,消息队列里的消息就会丢了)。
  TLQCONFDIR指向/app/tlq/etc #此目录存放TLQ的所有配置文件。
  TLQLOGDIR指向/app/tlq/log #此目录存放TLQ的日志文件
  TLQSNDFILESDIR指向/app/tlq/sndfiles #此目录存放TLQ的发送的文文件。
  TLQRCVFILESDIR指向/app/tlq/rcvfiles #此目录存放TLQ接收的文件。
  4 在HA中的部署
  TLQ在HA中的结构:
  将TongLink/Q的启动脚本保存为tlq_start.sh
  #tlq_start.sh
  su - tlq "-c sleep 1;tlq"
  tlqready=`su - tlq "-c tlqready 30"`
  if [ "$tlqready" = "y" ]
  then
  banner "TLQOK"
  else
  echo "tlq start failed in 30 second,please check TongLINK.sys"
  fi
  【说明】:
  1 tlqready 为tlq的应用程序。需要在相应的平台编译完成后,将此执行文件放到/TongLink/TLQ63/bin目录下。因为一般的系统分区中,并没有安装gcc编译环境,所以可以请厂商来提供编译后的tlqready.c文件。
  2 tlqready 为检测TLQ是否完全启动。后面的跟的是等待TLQ启动的时间,单位为秒。请根据实际环境,设置相应的值。
  将TongLink/Q的停止脚本保存为tlq_stop.sh
  #tlq_stop.sh
  su - tlq "-c sleep 1;tlq -cstop -y"
  while[`ps -ef | grep -E "changepwd|dispshm|tlqclibroker|tlqd|tlqerr|tlqmng|tlqmoni|tlqpsbroker|tlqstat|tlqsupervise"|grep -c -v grep` -gt 0 ]do
  echo "tlq still alive"
  sleep 1
  num=`expr $num + 1`
  if [ $num -eq 20 ]
  then
  su - tlq  "-c sleep 1;tlq -cabort -y"
  fi
  if [ $num -gt 30 ]
  then
  break
  fi
  done
  并在/etc/app/appstop.sh中添加如下一行:
  ./tlq_stop.sh #stop TLQ
  5 TLQ配置
  5.1 服务器节点
  服务器节点信息存储在TongUser.conf文件中,配置文件由多个小节组成,每个小节有多个配置项,关于配置项的详细信息请查看TLQ的相关文档。现介绍几个常用的配置项。
  【system系统小节】:
  ProgramNum = 20  # 程序记录数限制
  ProcessNum = 50  # 进程记录数限制
  TcliProcNum = 100 # 客户端连接数限制
  ListenPort = 10240 # TLQ监听端口
  ClientFlag = 1  # 是否支持客户端,取值为1/0
  当客户端程序并发量比较高时应把TcliProcNum的值调高,但调高这个值再重启tlq,此时可能出现无法启动失败的异常,日志文件/apps/tlq/log/TongLink.sys记录错误信息如下:
  T_QueCreat:T_Mutex_Create error, [/soft/tlq/TLQ63/etc]-7
  T_QueCreat [QIN] error, [/soft/tlq/TLQ63/etc]-73
  原因是系统信号量不够,需要增加系统信号量,系统信号量配置做如下调整(root用户执行):
  sysctl -w kernel.sem="1000 2048000 64 2048"
  之后,系统就会将kernel.sem调整为500 512000 64 2048,如需启动时自动应用,可在/etc/sysctl.conf增加:
  kernel.sem = 1000 2048000 64 2048
  其他项的取值可采用默认值或根据需要调整。
  【program】程序小节:
  Program小节由多个ProgramRecord子节点组成,每个ProgramRecord子节点的组成如下所示:
  [ProgramRecord]  #
  ProgramNo   = 100    # 程序编号
  ProgramFlag   = Trig    # 程序类型
  ProgramMaxNum  = 10    # 程序最多运行进程数
  ProgramPara   = /apps/iasp/demo  # 启动控制参数
  ProgramName   = TranProg  # 可执行程序名称
  程序编号必须为100以上的整数,程序类型可取值为Trig触发程序,Period周期程序,Time定时程序和Client发送方程序。
  ProgramPara指定传入到程序中的第二个参数,第一个参数为程序编号。
  ProgramName指定的程序在PATH环境变量包含的目录下,一般放在/TongLink/TLQ63/bin目录下。
  【RecvQueue】接收队列小节:
  RecvQueue小节由多个RecvQueueRecord字节点组成,每个子节点的组成如下所示:
  [RecvQueueRecord]  #
  QueRcvName = RcvQ1  # 接收队列名
  QueRecordNum = 100  # 队列中消息记录数限制
  QueSpaceSize = 1000  # 队列中消息可用空间限制,单位为 K bytes
  QueSaveMode = Disk  # 存储模式
  QuePrgNo = 100   # 对应程序编号
  ClusterQueueFlag = 0 # 是集群队列
  QuePrgNo指定的程序编号必须是在程序小节中存在的编号,或者是-1,如果程序的启动方式是Trig,那么每次有消息到达队列,就会启动对应的程序。
  5.2 客户端代理
  客户端代理的配置文件为TongCliBroker.Conf,它只有一个小节,如下所示
  [CliBrokerSystem]  # 系统小节
  JndiRecNum = 10   # Jndi记录数限制
  TaskNum = 1    # 并发任务数限制
  SessionPerTaskNum = 100     # 每个任务处理session数限制
  MemBlocksNum = 1   # 每个session用于blob数据成员的内存块数限制
  MemBlockSize = 10240 # 每个内存块大小
  BlockSize = 10   # socket传输层数据包的最大长度
  ClientsValve = 10  # 客户端阀值
  ListenQueueNum = 10  # Listen socket的等待队列的大小
  DebugLevel = 3   # 调试日志级别
  DebugMode = 0x03000fff # 调试日志模式,完整值=0x03000fff
  DeadTime = 600   # 线路最大空闲时间
  当客户端并发量很高时,必须将SessionPerTaskNum的值调高以防止错误。
  6 TLQ常用命令
  1 启动停止:
  启动:tlq -cstart
  停止:tlq -cstop
  2 查看状态:
  tlqstat
  tlqstat -Z TIMES.       -----Set rotation display times, -1 means forever
  tlqstat -R TIMEV.       -----Set rotation display interval, default is 3s
  tlqstat -O FILENAME.    -----Set output, default is standard output
  tlqstat -S              -----Set only show summary, default is to show all data
  tlqstat -C DestName RouteName-----Set route path
  tlqstat -a [0|1].       -----Show snd buf, 0: only head, 1: include data.
  tlqstat -b [0|1].       -----Show rcv buf, 0: only head, 1: include data.
  tlqstat -c              -----Show configure type.
  tlqstat -d              -----Show all snd q para.
  tlqstat -e              -----Show all rcv q para.
  tlqstat -f              -----Show the PrgMsgTbl.
  tlqstat -g              -----Show the PrgRunTbl.
  tlqstat -h              -----Show the PrgRgsTbl.
  tlqstat -i              -----Show route table.
  tlqstat -j              -----Show qin, qout & qaux.
  tlqstat -k              -----Show rcv history info.
  tlqstat -l              -----Show connect info to adj node.
  tlqstat -m NAME.        -----Show connectted adj node with the specified NAME.
  tlqstat -r NAME.        -----Show rcv q with the specified NAME.
  tlqstat -s NAME.        -----Show snd q with the specified NAME.
  tlqstat -t              -----Show the trans info.
  tlqstat -u [0|1].       -----Show the topic table, 0: only head, 1: include subscribe data.
  tlqstat -v NAME.        -----Show msg getor info of the rcv q with the specified NAME.
  tlqstat -w NAME.        -----Show snd win with the specified NAME.
  tlqstat -x              -----Show cluster RealDest.
  tlqstat -1              -----Show up node tbl.
  tlqstat -2              -----Show dn node tbl.
  tlqstat -3              -----Show sip tbl.
  tlqstat -4              -----Show anp tbl.
  tlqstat -5              -----Show default que.
  本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/daniel3418/archive/2010/06/20/5682077.aspx
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics