TIBCO EMS安裝部署

建立用戶linux

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

目前關於sharedatastore的方案是使用NAS。數據庫

 建立準備使用的nfs目錄,並賦權限bash

cd /服務器

         mkdir/mqdata網絡

chown -R tibco:tibco  /mqdata 架構

 

安裝TIBCO   (TIBCO支持綠色安裝,即直接從原來的機器上拷貝tibco目錄重新建立配置文件便可使用。tcp

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運行狀態,鏈接數目監控

一、  監控TIBCO EMS的監聽進程是否正常 telnet localhost 7222 等

二、  監控TIBCO EMS上鍊接EMS進程的網絡鏈接數

三、  監控TIBCO EMSServer上的運行日誌,對於異常的日誌進行分析

 

以上監控也能夠結合TibcoRTView進行,從操做系統層面和軟件層面分別進行監控,必要時使用TibcoRTView進行數據分析,進行容量的估算。

 

3.5.   Queue的監控(使用TibcoRTView)

一、  Queue的深度監控:目前pending狀態的Queue的長度,超過必定長度郵件報警,必要狀況下使用Queue Clear腳本對過長的Pending隊列進行清除。

二、  Queue的流量統計:統計天天主要Queue的流量,用於容量分析

 

4.        後續升級RoadMap

4.1.   存儲

從目前的收集的各種資料顯示,因爲TIBCO EMS 的HA架構依賴於共享存儲,而共享存儲目前有多種實施方案。在這一次的實施中,咱們使用的是目前生產上已有的NAS。

如今的測試過程當中,並無以爲使用NAS的Disk I/O是瓶頸。

但在後續的壓力和容量不斷提高的狀況下,不難保證這一塊會成爲瓶頸,故指定如下升級RoadMap。

一、  將目前混用的NAS,單獨增長一個磁盤陣列用給EMS使用,避免混用形成的影響。

升級須要工做:購買新的磁盤陣列用於EMS

二、  將目前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的升級採用以下幾種方案:

一、  升級現有的硬件設備。如目前使用的服務器(戴爾R610)還有預留空間給CPU和內存模塊,能夠將服務器的配置進行提高。因爲兩臺機器上的EMS互爲FT,能夠在不影響客戶端的情形下將Standby狀態下的機器停機進行模塊擴展,而後再開機,開機後從新進入Standby模式。對正在運行Active EMS實例的機器進行升級,須要首先停掉EMS實例或者直接停機,讓原來Standby狀態下的EMS變爲Active,而後再對機器進行硬件升級。此方案的優勢是配置簡單,但CPU數量及內存大小的增長並不必定能對EMS的總體性能有實質意義上的提高。

二、  增長FT Pair。目前的架構是使用一對Fault Tolerant的EMS實例,分別運行在不一樣的物理機器上。若是新的應用程序使用新的Queue,能夠考慮將這些Queue創建在新的FT Pair(運行在另外兩臺機器)上。此方案的前提是新的Queue不被現有的應用所使用。

相關文章
相關標籤/搜索