创建用户

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. Racing Car Computer dp

    Racing Car Computer Input: Standard Input Output: Standard Output   The racing cars of today are equ ...

  2. Ansible(二) - 配置及命令简介

    Ⅰ. Ansible Inventory Hosts文件配置 # mkdir /etc/ansible # touch /etc/ansible/hosts # cat /etc/hosts 127. ...

  3. FPGA在AD采集中的应用

    AD转换,也叫模数转换,是将模拟信号转换为数字信号.目前包括电脑CPU,ARM,FPGA,处理的信号都只能是数字信号,所以数据信号在进入处理芯片前必须要进行AD转换. 在高速的AD转换中,FPGA以其 ...

  4. Python系列之模块、和字符串格式化

    Python 模块 模块让你能够有逻辑地组织你的Python代码段. 把相关的代码分配到一个 模块里能让你的代码更好用,更易懂. 模块也是Python对象,具有随机的名字属性用来绑定或引用. 模块分为 ...

  5. 合并Spark社区代码的正确姿势

    原创文章,转载请保留出处 最近刚刚忙完Spark 2.2.0的性能测试及Bug修复,社区又要发布2.1.2了,国庆期间刚好有空,过了一遍2.1.2的相关JIRA,发现有不少重要修复2.2.0也能用上, ...

  6. MVC中使用Echart后台加载数据 实现饼图、折线图、全国地图数据,单击双击事件等

    @{ Layout = null; } @if (false) { <script src="~/Js/jquery-easyui-1.5/jquery.min.js"> ...

  7. SQLite中的时间日期函数

    SQLite包含了如下时间/日期函数: datetime().......................产生日期和时间 date()...........................产生日期 t ...

  8. 1.ElasticSearch介绍及基本概念

    一.ElasticSearch介绍 一个采用RESTful API标准的高扩展性的和高可用性的实时性分析的全文搜索工具 基于Lucene[开源的搜索引擎框架]构建 ElasticSearch是一个面向 ...

  9. MySQL主从复制 + Mycat实现读写分离

    说明:两台MySQL服务器都是使用CentOS6.5系统,MySQL版本为mysql-5.7.17 MySQL一主一被实现主从复制 注意:写包括insert,delete,update 操作:读只有s ...

  10. [Python] Codecombat 攻略 Sarven 沙漠 (1-43关)截止至30关

    首页:https://cn.codecombat.com/play语言:Python 第二界面:Sarven沙漠(43关)时间:4-11小时内容:算术运算,计数器,while循环,break(跳出循环 ...