创建用户

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安装部署的更多相关文章

  1. tibco EMS 8.2.0安装

    安装环境 序号 项目 值 1 OS版本 Red Hat Enterprise Linux Server release 7.1 (Maipo) 2 内核版本 3.10.0-229.el7.x86_64 ...

  2. Oracle安装部署,版本升级,应用补丁快速参考

    一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...

  3. KVM安装部署

    KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...

  4. Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考

    操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...

  5. 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署

    少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...

  6. C# winform安装部署(转载)

    c# winform 程序打包部署 核心总结: 1.建议在完成的要打包的项目外,另建解决方案建立安装部署项目(而不是在同一个解决方案内新建),在解决方案上右击-〉添加-〉现有项目-〉选择你要打包的项目 ...

  7. Ubuntu14.04 Django Mysql安装部署全过程

    Ubuntu14.04 Django Mysql安装部署全过程   一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...

  8. 比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署udeploy 1.0

    新增功能: 2015-03-11 除pass(备份与更新)与start(启动服务)外,实现一切自动化. 注:pass与start设为业务类,由于各类业务不同,所以无法实现自动化.同类业务除外,如更新的 ...

  9. 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布

    新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...

随机推荐

  1. 关于el-dialog,我更推荐的用法

    最近的项目里用上了vue和element-ui.vue这种轻量级渐进式框架的舒适自不必说,但一直困扰着我的,是如何方便又优雅的弹出模态dialog... 对于我这种在jquery出现之前就用docum ...

  2. 一文为你详细讲解对象映射库【AutoMapper】所支持场景

    前言 在AutoMapper未出世前,对象与对象之间的映射,我们只能通过手动为每个属性一一赋值,时间长了不仅是我们而且老外也觉得映射代码很无聊啊.这个时候老外的所写的强大映射库AutoMapper横空 ...

  3. 项目发布Debug和Release版的区别

    一.Debug和Release的区别 Debug:调试版本,包含调试信息,所以容量比Release大很多,并且不进行任何优化(优化会使调试复杂化,因为源代码和生成的指令间关系会更复杂),便于程序员调试 ...

  4. SQL Server XML数据解析

    --5.读取XML --下面为多种方法从XML中读取EMAIL DECLARE @x XML SELECT @x = ' <People> <dongsheng> <In ...

  5. jQuery Mobile 所有data-*选项,开发全解+完美注释

    全栈工程师开发手册 (作者:栾鹏) jQuery Mobile事件全解 jQuery Mobile 所有class选项 jQuery Mobile 所有data-*选项 jQuery Mobile 所 ...

  6. thinking in java 随笔

    初始化顺序 在一个类里,初始化的顺序是由变量在类内的定义顺序决定的.即使变量定义大量遍布于方法定义的中间,那些变量仍会在调用任何方法之前得到初始化--甚至在构建器调用之前.例如: class Tag ...

  7. 【特效】select美化

    select的默认样式往往很丑,为保证页面样式风格统一,需要对select进行美化.虽然其美化的插件很多,一搜一大把,但是需要引入长长的css文件和js文件实在是件头痛的事.其实select的实现原理 ...

  8. PE格式第六讲,导出表

    PE格式第六讲,导出表 请注意,下方字数比较多,其实结构挺简单,但是你如果把博客内容弄明白了,对你受益匪浅,千万不要看到字数多就懵了,其实字数多代表它重要.特别是第五步, 各种表中之间的关系. 作者: ...

  9. BAT级别分类

    阿里的级别:P为技术岗,M为管理岗.P7是技术专家级别. 阿里级别对应薪资:  百度使用的T系列及对应薪资: 腾讯的T系列及对应薪资:

  10. [scrapy]使用Anaconda来搭建scrapy的运行环境。官方推荐方法。

    1.官方文档推荐. 2.一般情况下多数人使用框架的时候使用的是,安装pywin32,和openssl来搭建scrapy的运行环境.但是由于,在这样搭建环境中会遇到各种各样的问题,诸如:下载的版本有问题 ...