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不被现有的应用所使用。
TIBCO EMS安装部署的更多相关文章
- tibco EMS 8.2.0安装
安装环境 序号 项目 值 1 OS版本 Red Hat Enterprise Linux Server release 7.1 (Maipo) 2 内核版本 3.10.0-229.el7.x86_64 ...
- Oracle安装部署,版本升级,应用补丁快速参考
一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...
- KVM安装部署
KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...
- Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考
操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...
- 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署
少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...
- C# winform安装部署(转载)
c# winform 程序打包部署 核心总结: 1.建议在完成的要打包的项目外,另建解决方案建立安装部署项目(而不是在同一个解决方案内新建),在解决方案上右击-〉添加-〉现有项目-〉选择你要打包的项目 ...
- Ubuntu14.04 Django Mysql安装部署全过程
Ubuntu14.04 Django Mysql安装部署全过程 一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...
- 比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署udeploy 1.0
新增功能: 2015-03-11 除pass(备份与更新)与start(启动服务)外,实现一切自动化. 注:pass与start设为业务类,由于各类业务不同,所以无法实现自动化.同类业务除外,如更新的 ...
- 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布
新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...
随机推荐
- 关于el-dialog,我更推荐的用法
最近的项目里用上了vue和element-ui.vue这种轻量级渐进式框架的舒适自不必说,但一直困扰着我的,是如何方便又优雅的弹出模态dialog... 对于我这种在jquery出现之前就用docum ...
- 一文为你详细讲解对象映射库【AutoMapper】所支持场景
前言 在AutoMapper未出世前,对象与对象之间的映射,我们只能通过手动为每个属性一一赋值,时间长了不仅是我们而且老外也觉得映射代码很无聊啊.这个时候老外的所写的强大映射库AutoMapper横空 ...
- 项目发布Debug和Release版的区别
一.Debug和Release的区别 Debug:调试版本,包含调试信息,所以容量比Release大很多,并且不进行任何优化(优化会使调试复杂化,因为源代码和生成的指令间关系会更复杂),便于程序员调试 ...
- SQL Server XML数据解析
--5.读取XML --下面为多种方法从XML中读取EMAIL DECLARE @x XML SELECT @x = ' <People> <dongsheng> <In ...
- jQuery Mobile 所有data-*选项,开发全解+完美注释
全栈工程师开发手册 (作者:栾鹏) jQuery Mobile事件全解 jQuery Mobile 所有class选项 jQuery Mobile 所有data-*选项 jQuery Mobile 所 ...
- thinking in java 随笔
初始化顺序 在一个类里,初始化的顺序是由变量在类内的定义顺序决定的.即使变量定义大量遍布于方法定义的中间,那些变量仍会在调用任何方法之前得到初始化--甚至在构建器调用之前.例如: class Tag ...
- 【特效】select美化
select的默认样式往往很丑,为保证页面样式风格统一,需要对select进行美化.虽然其美化的插件很多,一搜一大把,但是需要引入长长的css文件和js文件实在是件头痛的事.其实select的实现原理 ...
- PE格式第六讲,导出表
PE格式第六讲,导出表 请注意,下方字数比较多,其实结构挺简单,但是你如果把博客内容弄明白了,对你受益匪浅,千万不要看到字数多就懵了,其实字数多代表它重要.特别是第五步, 各种表中之间的关系. 作者: ...
- BAT级别分类
阿里的级别:P为技术岗,M为管理岗.P7是技术专家级别. 阿里级别对应薪资: 百度使用的T系列及对应薪资: 腾讯的T系列及对应薪资:
- [scrapy]使用Anaconda来搭建scrapy的运行环境。官方推荐方法。
1.官方文档推荐. 2.一般情况下多数人使用框架的时候使用的是,安装pywin32,和openssl来搭建scrapy的运行环境.但是由于,在这样搭建环境中会遇到各种各样的问题,诸如:下载的版本有问题 ...