tuxedo 2009-10-26 22:54:41 閱讀33 評論0 字號:大中小 訂閱
Tuxedo 作為系統的中間件,其配置主要包括:資源文件的配置和應用環(huán)境的配置;其管理和維護主要包括:系統的啟動(dòng)和關(guān)閉、日志的跟蹤查看工作。
Tuxedo應用系統的配置
一、應用系統的資源配置,全都包含在兩個(gè)資源配置文件中(ubbconfig 和dmconfig ),在這兩個(gè)配置文件中包含了系統所有的應用資源(文件)。
1、 對于ubbconfig文件,可以任意使用一個(gè)文件名(如:ubb.txt),使用一種文本編輯工具,將應用系統的資源分類(lèi)進(jìn)行配置,相關(guān)進(jìn)程啟動(dòng)數量等等都應該配置在其中,然后設置環(huán)境變量TUXCONFIG,使用系統命令:tmloadcf 來(lái)將文本文件ubb.txt,轉化生成環(huán)境變量TUXCONFIG制定的二進(jìn)制文件。在該文件中主要包含了幾個(gè)參數的設置:系統所使用的共享內存的鍵值IPCKEY,針對workstation客戶(hù)端的監聽(tīng)進(jìn)程的端口(WSL),多臺機器之間互連(登記中心與各網(wǎng)關(guān))的網(wǎng)絡(luò )地址和端口(NADDR,NLSADDR),數據依賴(lài)路由的設定等等。
詳細的內容參看《Ubbconfig配置.doc》
參看模版來(lái)實(shí)現移植或添加應用進(jìn)程等等。
2、 對于dmconfig文件,可以任意使用一個(gè)文件名(如:dm.txt),使用一種文本編輯工具,將應用系統的多域互聯(lián)及互相調用的關(guān)系進(jìn)行配置,包括多域之間互聯(lián)的地址和端口,然后使用系統命令:dmloadcf 來(lái)將文本文件dm.txt,轉化成環(huán)境變量BDMCONFIG所指定的二進(jìn)制文件。在該文件中主要包含了在多個(gè)域互連時(shí)用到的一些設置,主要包括:各個(gè)域的定義,各個(gè)域通訊連接的地址和端口(NWADDR),本地服務(wù)(DM_LOCAL_SERVICES)和遠端服務(wù)(DM_REMOTE_SERVICES)以及數據依賴(lài)路由等等。
詳細的內容參看《dmconfig配置.doc》
參看模版來(lái)實(shí)現移植或添加應用遠端或本地服務(wù)等等。
3、 客戶(hù)端代碼:是指使用編譯工具buildclient編譯生成的執行代碼。在編譯過(guò)程中,當使用編譯參數:-w 時(shí),將連接庫wsc等,生成的執行代碼將調用遠端的服務(wù),即通過(guò)環(huán)境變量:WSNADDR來(lái)查找相應的WSL的地址和端口; 當編譯沒(méi)有使用參數:–w時(shí),生成的執行代碼將調用本機的服務(wù),通過(guò)環(huán)境變量:TUXCONFIG來(lái)實(shí)現調用相應的服務(wù),如果要調用異域(如:代理集中點(diǎn)到登記中心)的服務(wù),就需要在dmconfig文件中配置和公布服務(wù)。
4、 服務(wù)進(jìn)程:是指使用編譯工具buildserver編譯生成的執行代碼,不要出現main()函數,啟動(dòng)和關(guān)閉要使用Tuxedo的工具:tmboot 和 tmshutdown
二、應用系統的環(huán)境配置,即系統運行時(shí)的環(huán)境變量的設置
一般的這些環(huán)境變量都放在用戶(hù)注冊是的.pro
TUXDIR:其值為T(mén)UXEDO的安裝目錄。
例如:TUXDIR=/home/tuxedo 或 TUXDIR=/home/bea
TUXCONFIG:其值為含有絕對路徑二進(jìn)制的資源配置文件的文件名,系統啟動(dòng)、監控、關(guān)閉等等都要用到此環(huán)境變量,當客戶(hù)端的代碼要調用應用系統的本機服務(wù)時(shí)也需要使用此變量。
例如:TUXCONFIG=/home/work/etc/tuxconfig
BDMCONFIG:其值為含有絕對路徑二進(jìn)制的多域配置文件的文件名,在使用多域間互聯(lián)時(shí)要用到此環(huán)境變量。
例如:BDMCONFIG=/home/work/etc/dmcomfig
PRINTERDIR:傳輸文件的放置目錄,主要是針對文件傳輸來(lái)使用的。
例如:PRINTERDIR=/home/work/print
FTP_BLOCK_SIZ:針對文件傳輸的,每次傳輸的快的大小,如果沒(méi)有設置,則系統默認為1024。
例如: FTP_BLOCK_SIZE=10240;export FTP_BLOCK_SIZE
WSNADDR:客戶(hù)端(workstation)設定的,指向服務(wù)器端WSL監聽(tīng)的地址和端口,當客戶(hù)端的代碼要調用系統的遠端服務(wù)時(shí)需要此環(huán)境變量。
例如:WSNADDR=//192.168.42.210:7001
Tuxedo 的管理和維護
一、 系統的啟動(dòng):
1、 多機系統的啟動(dòng)(如:登記中心的啟動(dòng))
首先設置環(huán)境變量,在各臺機器上啟動(dòng)tlisten進(jìn)程,一般設置在setenv中,然后在主管理機上,使用命令tmboot啟動(dòng)應用系統
tmboot 命令可以選擇使用多個(gè)參數:
-A 在各臺機器上啟動(dòng)核心的進(jìn)程(DBBL,BBL)。
-l lmid 啟動(dòng)某一臺機器lmid上的全部進(jìn)程,機器名:lmid是在文件ubb.txt中配置的邏輯名。
-g grpname 啟動(dòng)某一組grpname中的全部進(jìn)程。
-s server 啟動(dòng)某一個(gè)進(jìn)程server。
2、 單機系統的啟動(dòng)(如:代理集中點(diǎn)的起動(dòng))
首先設置環(huán)境變量,然后使用命令tmboot
-A 在機器上啟動(dòng)核心的進(jìn)程(BBL)。
-g grpname 啟動(dòng)某一組grpname中的全部進(jìn)程。
-s server 啟動(dòng)某一個(gè)進(jìn)程server。
二、 系統的關(guān)閉:
1、 多機系統的關(guān)閉(如:登記中心的關(guān)閉)
應該在主管理機上,使用命令tmshutdown
tmshutdown 命令可以選擇使用多個(gè)參數:
-y 關(guān)閉各臺機器上的全部進(jìn)程。
-l lmid 關(guān)閉某一臺機器lmid上的全部進(jìn)程。
-g grpname 關(guān)閉某一組grpname中的全部進(jìn)程。
-s server 關(guān)閉某一個(gè)進(jìn)程server。
2、 單機系統的關(guān)閉(如:代理集中點(diǎn)的關(guān)閉)
使用命令tmshutdown
-y 關(guān)閉機器上的全部進(jìn)程。
-g grpname 關(guān)閉某一組grpname中的全部進(jìn)程。
-s server 關(guān)閉某一個(gè)進(jìn)程server。
三、 系統的日志跟蹤:
1、 使用管理工具tmadmin
運行tmadmin進(jìn)入管理維護界面
2、 查看系統日志 ULOG.mmddyy
在系統設定的目錄下查看日志文件:ULOG.mmddyy和應用系統自己的日志。
代理集中點(diǎn)的安裝和配置
一、 軟件打包
將目前的代理集中點(diǎn)上的配置文件目錄~/etc和簡(jiǎn)單測試目錄~/apps打成一個(gè)包。在目錄~/apps下的內容多適用于測試環(huán)境配置結束后是否正常,在系統正常啟動(dòng)運行后就不再有什么作用了。
二、 系統安裝和配置
1、 修改資源管理配置文件:ubb.txt
可以使用任意的文本編輯工具,如vi等等編輯工具,以下同。
修改其中的: IPCKEY,TUXDIR,APPDIR,TUXCONFIG,ENVFILE,ULOGFPX和主機名(通過(guò)uname –n看到的)等的值,使之與實(shí)際環(huán)境相一致。修改 WSL的參數:CLOPT=“-A -- -n 地址:端口…”,使之與實(shí)際的環(huán)境一致,例如:CLOPT=“-A -- -n 192.168.42.220:7410”。
2、 修改域管理配置文件:dm.txt
修改:NWADDR的地址:端口,例如:NWADDR="http://192.168.42.231:7310"
要注意在系統中的dm.txt中的DOMAINID要保持一致,即在不同的文件重要有統一的命名。
3、 修改環(huán)境變量設置文件:setenv,將如下環(huán)境變量的值進(jìn)行修改,使之與實(shí)際的配置想符合,以下是參考。
例如:
TUXDIR=/home/tuxedo; export TUXDIR
PATH=$TUXDIR/bin


SHLIB_PATH=$TUXDIR/lib:/usr/lib:/lib;export SHLIB_PATH (for HPUX)
LIBPATH=$TUXDIR/lib

LD_LIBRARY_PATH=/usr/tuxedo/lib: /usr/informix/lib/esql ( for SCO )
NLSPATH=$TUXDIR/locale;export NLSPATH
LANG=C;export LANG
TUXCONFIG=/home/ebistest/config/tuxconfig;export TUXCONFIG
BDMCONFIG=/home/ebistest/config/bdmconfig;export BDMCONFIG
FIELDTBLS32=ftpflds;export FIELDTBLS32
FLDTBLDIR32=$TUXDIR/api105;export FLDTBLDIR32
在SCO、HP、IBM系統上的函數庫環(huán)境設置有個(gè)不相同的環(huán)境變量(如:SHLIB_PATH、LIBPATH),需要注意。
針對文件傳輸的,如果文件較大,可以將環(huán)境變量FTP_BLOCK_SIZE的值設置的大一點(diǎn),如果沒(méi)有設置該環(huán)境變量,則系統默認為1024。例如:
FTP_BLOCK_SIZE=10240;export FTP_BLOCK_SIZE
4、 系統啟動(dòng)
首先設置環(huán)境變量,可以放在.pro
然后執行tmboot 即可
三、 故障排除
查看系統日志 ULOG.mmddyy
在系統設定的目錄下查看日志文件:ULOG.mmddyy和應用系統自己的日志。
登記中心的安裝和配置
一、 軟件打包
將目前的登記中心及其網(wǎng)關(guān)機上的配置文件目錄~/etc和簡(jiǎn)單測試目錄~/apps,及網(wǎng)關(guān)機上的~/cjhb打成一個(gè)包。在目錄~/cjhb下的內容是用于完成成交回報交易的。
二、系統安裝和配置
1、 修改資源管理配置文件:ubb.txt
可以使用任意的文本編輯工具,如vi等等編輯工具,以下同。
修改其中的: IPCKEY,TUXDIR,APPDIR,TUXCONFIG,ENVFILE,ULOGFPX和主機名(通過(guò)uname –n看到的)等的值,使之與實(shí)際環(huán)境相一致。修改 WSL的參數:CLOPT=“-A -- -n 地址:端口…”,使之與實(shí)際的環(huán)境一致,例如:CLOPT=“-A -- -n 192.168.42.220:7410”。
2、 修改域管理配置文件:dm.txt,此文件可以放在登記中心機器上,也可以放在網(wǎng)關(guān)機器上的響應目錄下。
修改:NWADDR的地址:端口,例如:NWADDR="http://192.168.42.231:7310"
要注意在系統中的dm.txt中的DOMAINID要保持一致,即在不同的文件重要有統一的命名。
3、 修改環(huán)境變量設置文件:setenv,將如下環(huán)境變量的值進(jìn)行修改,使之與實(shí)際的配置想符合。
例如:
TUXDIR=/home/tuxedo; export TUXDIR
PATH=$TUXDIR/bin


SHLIB_PATH=$TUXDIR/lib:/usr/lib:/lib;export SHLIB_PATH (for HPUX)
LIBPATH=$TUXDIR/lib

LD_LIBRARY_PATH=/usr/tuxedo/lib: /usr/informix/lib/esql ( for SCO )
NLSPATH=$TUXDIR/locale;export NLSPATH
LANG=C;export LANG
TUXCONFIG=/home/ebistest/config/tuxconfig;export TUXCONFIG
BDMCONFIG=/home/ebistest/config/bdmconfig;export BDMCONFIG
FIELDTBLS32=ftpflds;export FIELDTBLS32
FLDTBLDIR32=$TUXDIR/api105;export FLDTBLDIR32
針對文件傳輸的,如果文件較大,可以將環(huán)境變量FTP_BLOCK_SIZE的值設置的大一點(diǎn),如果沒(méi)有設置該環(huán)境變量,則系統默認為1024。例如:
FTP_BLOCK_SIZE=10240;export FTP_BLOCK_SIZE
4、 修改在網(wǎng)關(guān)機上的環(huán)境設置文件envfile和setenv,將如下的環(huán)境變量進(jìn)行修改,使之與實(shí)際的配置想符合。
除了上面列出的還有如下幾個(gè)變量:
MCHSNDFILE=/tmp/beta/matchsend.txt;export MCHSNDFILE
FSNDLOG=/tmp/beta/Fsnd.log;export FSNDLOG
PRINTERDIR=/tmp/beta; export PRINTERDIR
主要是用于成交回報交易的。
5、系統啟動(dòng)
首先設置環(huán)境變量,可以放在.pro
然后再登記中心機器上(MASTER)執行tmboot 即可,可以選擇分步來(lái)啟動(dòng)應用系統,使用:tmboot –A 和 tmboot –l 來(lái)逐個(gè)啟動(dòng)系統。
網(wǎng)點(diǎn)的安裝和配置
一、 軟件打包
1、 網(wǎng)點(diǎn)的中間件軟件(tuxedo),只是需要一些客戶(hù)端的庫函數等等,在選擇workstation模式安裝后,將tuxedo的所有文件達成一個(gè)包即可。
2、 需要在網(wǎng)點(diǎn)編譯時(shí),要注意配置環(huán)境變量,參看下面的系統配置。
二、系統的配置
1、 配置環(huán)境變量
修改環(huán)境變量設置文件(tux.env 或setenv),將如下環(huán)境變量的值進(jìn)行修改,使之與實(shí)際的配置想符合。
例如:
TUXDIR=/home/tuxedo; export TUXDIR
PATH=$TUXDIR/bin


SHLIB_PATH=$TUXDIR/lib:/usr/lib:/lib;export SHLIB_PATH (for HPUX)
LIBPATH=$TUXDIR/lib

LD_LIBRARY_PATH=/usr/tuxedo/lib: /usr/informix/lib/esql ( for SCO )
NLSPATH=$TUXDIR/locale;export NLSPATH
LANG=C;export LANG
2、 配置與代理集中點(diǎn)相連接的環(huán)境變量
各個(gè)網(wǎng)點(diǎn)的應用代碼都是通過(guò)工作站(workstation)方式與代理集中點(diǎn)連結的。因此要配置連結代理集中點(diǎn)的tcp/ip地址和端口。
例如:
WSNADDR=//192.168.42.220:7520; export WSNADDR
也可以主機名加端口,例如:
WSNADDR=//hp01:7520; export WSNADDR
常見(jiàn)的問(wèn)題及解決方法
以下常見(jiàn)的都是在使用中間過(guò)程中遇到的問(wèn)題:
一、 與數據庫的連接問(wèn)題
在測試中看到,應用代碼都是自己去聯(lián)的數據庫,為了保證效率,都是在進(jìn)程啟動(dòng)的時(shí)候預先建立起連接,這樣保證了交易進(jìn)行時(shí)的效率;但當數據庫出現宕機時(shí),連接也將隨之丟失了,這時(shí)的應用程序就不能再訪(fǎng)問(wèn)數據庫了,在目前的應用中都沒(méi)有對訪(fǎng)問(wèn)數據庫的返回碼進(jìn)行判斷,如果是連接失敗的可以選擇重新連接數據庫,而不是退出交易,這樣交易又可以正常運行了。
目前,這樣的情況出現后,就需要將應用系統重新啟動(dòng),使應用程序同數據庫進(jìn)行重新連接。
二、代理集中點(diǎn)上常見(jiàn)的一個(gè)問(wèn)題
在代理集中點(diǎn)上??吹絻蓷l隊列,鍵值是32和3e8,這兩條隊列在寫(xiě)滿(mǎn)時(shí),因為監控進(jìn)程沒(méi)有及時(shí)讀隊列,常常會(huì )影響與之有關(guān)的幾個(gè)進(jìn)程,只需要將這兩條隊列清空就可以了。
三、系統啟動(dòng)不正常
常見(jiàn)的原因有如下幾個(gè):
1、 環(huán)境變量沒(méi)有設好,如上面的所說(shuō)的各個(gè)環(huán)境變量??梢缘絶/etc目錄下使用命令:. ./setenv來(lái)設置一下。
2、 據庫連接失敗,這樣會(huì )導致連接數據庫的應用進(jìn)程不能啟動(dòng)。檢查數據庫確保能夠正常連接后,再重新啟動(dòng)這些進(jìn)程。
3、 單個(gè)進(jìn)程的問(wèn)題,比如執行權限等等,參看日志文件來(lái)找出原因。
4、 在登記中心使用的是多機互連方式,主管機器負責啟動(dòng)所用的進(jìn)程,在所有的機器上都要有相應的監聽(tīng)進(jìn)程:tlisten,對于網(wǎng)關(guān)機上的服務(wù),如果網(wǎng)關(guān)機宕機或被重新啟動(dòng)時(shí),要將監聽(tīng)進(jìn)程啟動(dòng)起來(lái),在~/etc目錄下,使用命令:. ./setenv即可,然后先在主管機器上運行tmadmin,進(jìn)入后并執行pcl gwname命令來(lái)清理掉網(wǎng)關(guān)機得響應信息,再退出并重新啟動(dòng)網(wǎng)關(guān)機上的應用系統:tmboot –l gwname。
注:gwname時(shí)網(wǎng)關(guān)機的邏輯名,在ubb.txt(Ubbconfig)中定義的,不同的網(wǎng)關(guān)機有不同的邏輯名。
注:tlisten進(jìn)程可以多次啟動(dòng),當該進(jìn)程已經(jīng)正常運行時(shí),再次啟動(dòng)會(huì )報出錯誤信息:CMDTUX_CAT:1319: INFO: Terminating tlisten process,在日志文件中也有相應的記錄,這說(shuō)明該進(jìn)程已經(jīng)啟動(dòng)了。
5、 如果有某些進(jìn)程始終在內存中,導致系統不能啟動(dòng)時(shí),可以將這些進(jìn)程殺掉,并將與之相關(guān)的隊列和內存也都清掉,然后重新啟動(dòng)系統。
四、 系統關(guān)閉不正常
1、 客戶(hù)端與系統在發(fā)生交易或連接,如:tmadmin等等或客戶(hù)端的某些服務(wù)等正在運行,這些都會(huì )導致系統的主進(jìn)程不能正常關(guān)閉。
2、 登記中心使用的是多機互連方式,主管機器負責啟動(dòng)和關(guān)閉所用的進(jìn)程,在所有的機器上都要有相應的監聽(tīng)進(jìn)程:tlisten,對于網(wǎng)關(guān)機上的服務(wù),如果網(wǎng)關(guān)機宕機或被重新啟動(dòng)時(shí),要將監聽(tīng)進(jìn)程啟動(dòng)起來(lái),在~/etc目錄下,使用命令:. ./setenv即可,然后先在主管機器上運行tmadmin命令,然后執行pcl gwname命令來(lái)清理掉網(wǎng)關(guān)機得響應信息,再退出并重新關(guān)閉網(wǎng)關(guān)機上的應用系統:tmshutdown –l gwname。
注:gwname時(shí)網(wǎng)關(guān)機的邏輯名,在ubb.txt(Ubbconfig)中定義的,不同的網(wǎng)關(guān)機有不同的邏輯名。
注:tlisten進(jìn)程可以多次啟動(dòng),當該進(jìn)程已經(jīng)正常運行時(shí),再次啟動(dòng)會(huì )報出錯誤信息:CMDTUX_CAT:1319: INFO: Terminating tlisten process,在日志文件中也有相應的記錄,這說(shuō)明該進(jìn)程已經(jīng)啟動(dòng)了。
3、 如果有某些進(jìn)程始終在內存中,導致系統不能正常關(guān)閉時(shí),可以將這些進(jìn)程殺掉,并將與之相關(guān)的隊列和內存也都清掉;這些進(jìn)程往往都是由于運行中出現的異常導致僵死在內存里了,需要手工干預的。
4、 有時(shí)候,有幾個(gè)操作人員在同時(shí)啟動(dòng)系統,會(huì )導致系統的某些進(jìn)程與主進(jìn)程失去聯(lián)系,這樣就很難關(guān)閉了,只好手工來(lái)殺掉(kill),并將與之相關(guān)的隊列、信號燈和共享內存也都清掉(ipcrm)。
五、 交易連接失敗
1、環(huán)境變量設置有誤,特別是使用客戶(hù)端代碼,直接連接遠端服務(wù)的;需要重新設定環(huán)境變量,如:WSNADDR,TUXCONFIG等等,環(huán)境變量設置正確后,再進(jìn)行交易就可以了。
2、對方交易沒(méi)有啟動(dòng),這是的出錯代碼在日志文件中tperrno=6,是很典型的,找不到相應的服務(wù);檢查服務(wù)是否存在,重新啟動(dòng)服務(wù)即可。
3、在代理集中點(diǎn)上常常因為某條隊列(32或 3e8)阻塞,影響幾個(gè)進(jìn)程的訪(fǎng)問(wèn),如操作員注冊等會(huì )因為超時(shí)而失??;只需要將這兩條隊列清空就可以了。
六、成交回報的交易出錯
1、 進(jìn)程(gwreadfs)啟動(dòng)時(shí)有錯誤;檢查網(wǎng)關(guān)機上環(huán)境設置是否正確,查看文件~/etc/envfile中的內容,并根據其中的環(huán)境變量MCHSNDFILE和FSNDLOG所指定的文件, 如:~/da
2、 成交回報的內容沒(méi)有正確的傳到代理集中點(diǎn)上,要檢查文件:senderr.log看其中的代理集中點(diǎn)號是否正確,主要是位置是否正確,并且看看在路由表中是否有配置,這類(lèi)問(wèn)題在測試初期曾出現過(guò)多次。
3、 交易過(guò)程中,文件如果被刪除掉了,(特別是目前放在臨時(shí)目錄下的這種情況),就需要在啟動(dòng)進(jìn)程前,手工創(chuàng )建一個(gè)同名的空文件matchsend.txt;如果進(jìn)程已經(jīng)啟動(dòng),則需要重新啟動(dòng)該進(jìn)程。
聯(lián)系客服