TIBCO EMS安装部署

创建用户

groupadd -g 800 tibco
useradd -u 801 -g tibco -d /home/tibco/ -s /bin/bash tibco

目前关于sharedatastore的方案是使用NAS。

创建准备使用的nfs目录,并赋权限

cd /

mkdir/mqdata

chown -R tibco:tibco  /mqdata

安装TIBCO   (TIBCO支持绿色安装,即直接从原来的机器上拷贝tibco目录从新创建配置文件即可使用。

cd /opt/software/

ls

TIB_ems_7.0.1_linux_x86.tar.gz

tar -zxvf TIB_ems_7.0.1_linux_x86.tar.gz

chown -R tibco:tibco *

mkdir /opt/tibco

chown -R tibco:tibco/opt/tibco

切换到tibco用户,开始安装:

su -tibco

cd /opt/software

./TIBCOUniversalInstaller-lnx-x86.bin -console

安装过程中,需要定义以下参数,其它采用默认即可。

Install Type:     Typical

Environment Name: cfgmgmt

TIBCO Environment Home Directory: [/home/tibco/tibco] /opt/tibco

TIBCO Configuration Directory: [/home/tibco/CFGs] /opt

安装参数定义:


安装参数



备注


Environment Name


cfgmgmt


环境名称


TIBCO Environment Home Directory


/opt/tibco


介质安装目录


TIBCO Configuration Directory


/opt


配置目录(安装目录/环境名称)

ems 存放了启动文件 跟config配置案例

创建logs datastore conf目录

cp /opt/tibco/ems/8.2/samples/config/*  /mqdata/PMD/EmsServer/conf/(将配置文件拷贝出来,到时升级应用可以直接拷贝配置文件启动)

修改配置tibemsd.conf 文件一个为主 一个为备

1.  mqdata/PMD/EmsServer/conf目录下,使用tibemsd.conf文件为模板,创建文件:EmsServertibemsd.conf和EmsServerBackuptibemsd.conf,这两个文件通过启动脚本在主服务器与备服务器上使用。使用命令:

cd/mqdata/PMD/EmsServer/conf

cp -a tibemsd.conf EmsServertibemsd.conf

cp -a tibemsd.conf EmsServerBackuptibemsd.conf

2.  修改EmsServertibemsd.conf文件,修改内容如下:


server                  = PMD-EmsServer

users                   = "/mqdata/PMD/EmsServer/conf/users.conf"

groups                  = "/mqdata/PMD/EmsServer/conf/groups.conf"

topics                  = "/mqdata/PMD/EmsServer/conf/topics.conf"

queues                  = "/mqdata/PMD/EmsServer/conf/queues.conf"

acl_list                = "/mqdata/PMD/EmsServer/conf/acl.conf"

factories               = "/mqdata/PMD/EmsServer/conf/factories.conf"

routes                  = "/mqdata/PMD/EmsServer/conf/routes.conf"

bridges                 = "/mqdata/PMD/EmsServer/conf/bridges.conf"

transports              = "/mqdata/PMD/EmsServer/conf/transports.conf"

tibrvcm                 = "/mqdata/PMD/EmsServer/conf/tibrvcm.conf"

durables                = "/mqdata/PMD/EmsServer/conf/durables.conf"

channels                = "/mqdata/PMD/EmsServer/conf/channels.conf"

store                   = "/mqdata/PMD/EmsServer/datastore"

listen                  = tcp://192.168.50.148:7222

logfile                 = "/mqdata/PMD/EmsServer/logs/logfile"

ft_active               = tcp://192.168.50.156:7222

3.  修改EmsServerBackuptibemsd.conf文件,修改内容如下:


server                  = PMD-EmsServer

users                   = "/mqdata/PMD/EmsServer/conf/users.conf"

groups                  = "/mqdata/PMD/EmsServer/conf/groups.conf"

topics                  = "/mqdata/PMD/EmsServer/conf/topics.conf"

queues                  = "/mqdata/PMD/EmsServer/conf/queues.conf"

acl_list                = "/mqdata/PMD/EmsServer/conf/acl.conf"

factories               = "/mqdata/PMD/EmsServer/conf/factories.conf"

routes                  = "/mqdata/PMD/EmsServer/conf/routes.conf"

bridges                 = "/mqdata/PMD/EmsServer/conf/bridges.conf"

transports              = "/mqdata/PMD/EmsServer/conf/transports.conf"

tibrvcm                 = "/mqdata/PMD/EmsServer/conf/tibrvcm.conf"

durables                = "/mqdata/PMD/EmsServer/conf/durables.conf"

channels                = "/mqdata/PMD/EmsServer/conf/channels.conf"

store                   = "/mqdata/PMD/EmsServer/datastore"

listen                  = tcp://192.168.50.156:7222

logfile                 = "/mqdata/PMD/EmsServer/logs/logfile"

ft_active               = tcp://192.168.50.148:7222

4.  修改/mqdata/PMD/EmsServer/conf/factories.conf文件,添加内容如下:


[FTTopicConnectionFactory]

type                  = topic

url                   = tcp://192.168.50.148:7222,tcp://192.168.50.156:7222

[FTQueueConnectionFactory]

type                  = queue

url                   = tcp://192.168.50.148:7222,tcp://192.168.50.156:7222

至此,EmsServer的Fault-Tolerant Pair创建完成。

备的配置文件

Server=EMS-SERVER-RAMU(这个值必须和主服务器的tibemsd.conf 文件中的服务器参数的值一致)
Listen=tcp://7222(这个值必须和主服务器的tibemsd.conf 文件中的Ft_active 参数的值一致)
Ft_active=tcp://7222(这个值必须和主服务器的tibemsd.conf 文件中的监听参数的值一致)
store=(这个值必须和主服务器的tibemsd.conf 文件中的存储参数store,注意主服务器的tibemsd.conf 文件中的这个值正好是datastore)

在主上 echo ‘/mqdata 192.168.50.0/24(rw,sync)‘ >/etc/exports

/etc/init.d/rpcbind restart
/etc/init.d/nfs restart

主启动

nohup ./tibemsd -forceStart -config /mqdata/PMD/EmsServer/conf/EmsServertibemsd.conf &

主上共享

/mqdata 192.168.50.0/24(rw)

从上挂载/mqdata目录  最好将挂载加到rc.local中 mount -t nfs4 172.16.50.148:/mqdata  /mqdata

从上启动

nohup ./tibemsd -config /mqdata/PMD/EmsServer/conf/EmsServerBackuptibemsd.conf &

1 服务器启动

1.1.1.            创建主/备服务器属性文件

在主/备服务器的目录/home/tibco/tools上同时建立:

vi shutdown.conf,输入以下内容:


info

show queues

shutdown

1.1.2.            创建主服务器启动脚本

在主服务器(192.168.50.148)上的/home/tibco/tools目录建立:

vi startEmsServer.sh,输入以下内容:


#!/bin/sh

cd /opt/tibco/ems/7.0/bin/

nohup ./tibemsd64 -config /mqdata/PMD/EmsServer/conf/EmsServertibemsd.conf&

1.1.3.            创建主服务器停止脚本

在主服务器上(192.168.50.148)的/home/tibco/tools目录建立:

vi stopEmsServer.sh,输入以下内容:


#!/bin/sh

date >> shutdown.log

/opt/tibco/ems/7.0/bin/tibemsadmin -script /home/tibco/tools/shutdown.conf-servertcp://192.168.50.148:7222-user admin -password [admin’s password]>> shutdown.log

注意以上IP地址修改为对应的IP,如果没有密码,则不需要-password参数,下同!

1.1.4.            创建备服务器启动脚本

在备服务器(192.168.50.156)上的/home/tibco/tools目录建立:

vi startEmsServer.sh,输入以下内容:


#!/bin/sh

cd /opt/tibco/ems/7.0/bin/

nohup ./tibemsd64 -config /mqdata/PMD/EmsServer/conf/EmsServerBackuptibemsd.conf&

1.1.5.            创建备服务器停止脚本

在备服务器(192.168.50.156)上的/home/tibco/tools目录建立:

vi stopEmsServer.sh,输入以下内容:


#!/bin/sh

date >> shutdown.log

/opt/tibco/ems/7.0/bin/tibemsadmin -script /home/tibco/tools/shutdown.conf-servertcp://192.168.50.156:7222-user admin -password [admin’s password]>> shutdown.log

启动脚本的执行:

sh startEmsServer.sh

停止脚本的执行:

sh stopEmsServer.sh

执行后,观察日志确认启动/停止情况

设置连接密码

通过以下几条命令,设置tibco的admin账号密码。(账户 admin 初始密码为空)这里设置为admin,请根据实际情况定义!

Login name (admin):

Password:

Connected to: tcp://192.168.50.148:7222

tcp://192.168.50.148:7222>set password admin [admin’s password]

Password of user ‘admin‘ has been modified

tcp://192.168.50.148:7222>quit

bye

2.        日常基础配置管理

2.1.   Queue建立和管理

TIBCO EMS中queue的建立可以使用API,也可以使用管理控制台建立。不管使用何种方式建立的queue,最后都将保存在queues.conf文件中。queues.conf文件为文本文件,也可以手工进行修改。由于手动修改queues.conf文件后需要重启EMS服务,而且配置信息的正确性不经过检查,所以不建议直接修改配置文件。建议使用管理控制台。如需进行批处理,通过在脚本中调用管理控制台的执行程序tibemsadmin实现。

2.2.   Factory的建立和管理

TIBCO EMS中Factory的建立也同样可以使用API和后台管理控制台进行修改和建立。

但是不如修改factories.conf文件来的方便。Factories。conf文件为文本文件,也可以手工进行修改。

如下所示:

[seashellXAConnectionFactory]       ----  factory的名称

type                     = xaqueue    ----类型

url                      = tcp://192.168.50.148:7222,tcp://192.168.50.156:7222|tcp://192.168.50.148:7222,tcp://192.168.50.156:7222                --- 所使用EMSServer的list,如果以“,”表示是FT的Pair,以“|”,表示LoadBalance的Pair。

metric                 = connections    ---使用connection数目进行LoadBalance的依据。

3.        监控部署

3.1.   TIBCO EMS运行主机的监控

使用目前统一的主机监控方案,监控内容包括:

CPU使用率

内存使用

磁盘使用

硬盘I/O

CPU Load Average

3.2.   NAS的IO监控

使用NAS提供的SNMP接口监控

3.3.   TIBCO EMS主机依赖网络流量的监控

监控Tibco EMS主机与NAS直接的网络流量,避免网络带宽的影响整个NAS的I/O。

3.4.   TIBCO EMS运行状态,连接数目监控

1、  监控TIBCO EMS的监听进程是否正常 telnet localhost 7222 等

2、  监控TIBCO EMS上连接EMS进程的网络连接数

3、  监控TIBCO EMSServer上的运行日志,对于异常的日志进行分析

以上监控也可以结合TibcoRTView进行,从操作系统层面和软件层面分别进行监控,必要时使用TibcoRTView进行数据分析,进行容量的估算。

3.5.   Queue的监控(使用TibcoRTView)

1、  Queue的深度监控:目前pending状态的Queue的长度,超过一定长度邮件报警,必要情况下使用Queue Clear脚本对过长的Pending队列进行清除。

2、  Queue的流量统计:统计每天主要Queue的流量,用于容量分析

4.        后续升级RoadMap

4.1.   存储

从目前的收集的各类资料显示,由于TIBCO EMS 的HA架构依赖于共享存储,而共享存储目前有多种实施方案。在这一次的实施中,我们使用的是目前生产上已有的NAS。

现在的测试过程中,并没有觉得使用NAS的Disk I/O是瓶颈。

但在后续的压力和容量不断提升的情况下,不难保证这一块会成为瓶颈,故指定以下升级RoadMap。

1、  将目前混用的NAS,单独增加一个磁盘阵列用给EMS使用,避免混用造成的影响。

升级需要工作:购买新的磁盘阵列用于EMS

2、  将目前EMS使用的NAS升级到SAN结构

A、 改造目前使用的NAS架构,增加SAN架构

升级需要工作:重新规划NAS网络,购买光纤交换机,每台EMS服务器增加光纤卡,NetApp的存储购买支持SAN架构的模块

B、 迁移目前使用的NAS共享存储到数据库使用SAN结构的共享存储。

升级需要工作:每台EMS服务器增加光纤卡,已有光纤交换机上增加接口给新增EMS服务器使用。

缺点:将与数据库使用同一个存储,可能会对数据库的使用造成影响。

以上升级方案在发现NAS 的Disk I/O在其他优化完成的情况下,仍然是瓶颈的情况下参考实施。

4.2.   服务器

EMS本身的Load Balance功能支持EMS的横向扩展。但由于实现Load Balance的机制中引入Routed Queue,而Routed Queue无法保证所有场景下事务的完整性,所以本次方案没有采用Producer端的Load Balance。对于Topic,Load Balance是没有对事务的限制的,但公司目前不采用Topic的机制。因为不采用Load Balance,未来EMS的升级采用如下几种方案:

1、  升级现有的硬件设备。如目前使用的服务器(戴尔R610)还有预留空间给CPU和内存模块,可以将服务器的配置进行提升。由于两台机器上的EMS互为FT,可以在不影响客户端的情形下将Standby状态下的机器停机进行模块扩展,然后再开机,开机后重新进入Standby模式。对正在运行Active EMS实例的机器进行升级,需要首先停掉EMS实例或者直接停机,让原来Standby状态下的EMS变为Active,然后再对机器进行硬件升级。此方案的优点是配置简单,但CPU数量及内存大小的增加并不一定能对EMS的整体性能有实质意义上的提升。

2、  增加FT Pair。目前的架构是使用一对Fault Tolerant的EMS实例,分别运行在不同的物理机器上。如果新的应用程序使用新的Queue,可以考虑将这些Queue建立在新的FT Pair(运行在另外两台机器)上。此方案的前提是新的Queue不被现有的应用所使用。

时间: 2024-10-04 00:59:59

TIBCO EMS安装部署的相关文章

Python实现一键安装部署LNMP环境

最近一直在学Python,东西比较多,时间持续的也比较长,为了能够学以致用,想到了原来写过的shell一键安装部署LNMP脚本,既然shell能写,Python也一定能写,就用学到的知识写了下面这个版本,这可能并不是最优版本,等学到更多东西的时候再进行优化升级! 环境介绍: Python 2.6.6 Centos 6.5 nginx 1.10.1 mysql 5.6.34 php 5.3.3 代码如下: #!/bin/env python import os import sys def ent

linux运维之weblogic12.1.3安装部署

安装最新的weblogic版本,版本号为 12.1.X(12.1.2,12.1.3).开始以为和旧版安装一样,使用控制台的方式,下载bin文件,然后一步步在console执行下来就行了.万万没想到,从12C版本后,bin文件不提供了,改成全系统通用的jar文件 (generic.jar).试了半天原来那种安装方式不能用了,非得用图形界面安装.由于服务器只能远程登录,于是各种百度.各种找材料,最后终于找到一种静默方式的安装.请看下文. weblogic12C各版本所支持的JDK版本: fmw_12

Sqlserver2008安装部署文档

Sqlserver2008部署文档 注意事项: 如果你要安装的是64位的服务器,并且是新机器.那么请注意,你需要首先需要给64系统安装一个.net framework,如果已经安装此功能,请略过这一步.   具体安装.net framework的方法是:在图标<我的电脑>上右击选择<管理>,打开以后选择<功能>选项卡,如下图所示,然后点击添加功能,勾选..net framework,然后一直点击下一步安装即可. 安装的过程中,需要注意如果你要安装的服务器有外挂或者附加的

redis以及php的redis扩展安装部署

一.redis 安装部署: tar xf redis-3.2.8.tar.gz cd redis-3.2.8 make MANIFESTO=jemalloc make PREFIX=/usr/local/redis-3.2.8 install ln -s /usr/local/redis-3.2.8/ /usr/local/redis echo "export PATH=/usr/local/redis/bin:$PATH" >> /etc/profile find / -

ELK部署logstash安装部署及应用(二)

Logstash 安装部署注意事项: Logstash基本概念: logstash收集日志基本流程: input-->codec-->filter-->codec-->output input:从哪里收集日志. filter:发出去前进行过滤 output:输出至Elasticsearch或Redis消息队列 codec:输出至前台,方便边实践边测试 数据量不大日志按照月来进行收集 如果通过logstash来采集日志,那么每个客户端都需要安装logstash 安装需要前置系统环境

Zookeeper安装部署

Zookeeper安装部署 Zookeeper部署(单机模式)   下载ZooKeeper ü  http://zookeeper.apache.org/   解压 ü  tar -zxvf zookeeper-3.4.5.tar.gz   配置.在conf目录下创建一个配置文件zoo.cfg: tickTime=2000 dataDir=/home/hadoop/bigdata/zookeeper/datadataLogDir=/home/hadoop/bigdata/zookeeper/da

虚拟化Vmware之安装部署vCenter

vCenter是vSphere解决方案的基础物理架构核心,可以提供如访问控制.性能监控和配置功能等,并且可以将多台ESXi主机资源集中,使这些资源在整个数据中心的虚拟机之间共享.vCenter是一种服务,充当连接网络的ESXi主机的中心管理员. 安装部署vCenterer 一.实验环境 自己的真实机当作客户机 1.首先将DC/DNS(benet.com)服务器的防火墙关闭 2.真实机和虚拟机都设在同一网段 DNS指向DNS服务器. 安装高版本的flash 二.配置sql server    我在

安装部署Phxsql

.需求:公司某软件使用phxsql已经部署在3个机房,现需要在新的机房增加一个phxsql节点,以下为操作过程,因为保护隐私把4台IP用 1.1.1.1 2.2.2.2 3.3.3.3 新的ip为4.4.4.4 .安装Phxsql需要Python2.7版本,Centos默认为2.6版本,需要进行升级 cd /opt wget --no-check-certificate https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz tar

CentOS 6.5 安装部署iSCSi共享存储

 CentOS 6.5 安装部署iSCSi共享存储 一.前言 1.什么是iSCSI? iSCSI技术是一种由IBM公司研究开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择.iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料. iSCSI:Internet 小型计算机系统接口 (iSCSI: