Tuxedo配置維護手冊


Tuxedo 作為系統的中間件,其配置主要包括:資源文件的配置和應用環境的配置;其管理和維護主要包括:系統的啟動和關閉、日志的跟蹤查看工作。

Tuxedo應用系統的配置

一、應用系統的資源配置,全都包含在兩個資源配置文件中(ubbconfig 和dmconfig ),在這兩個配置文件中包含了系統所有的應用資源(文件)。

1、  對於ubbconfig文件,可以任意使用一個文件名(如:ubb.txt),使用一種文本編輯工具,將應用系統的資源分類進行配置,相關進程啟動數量等等都應該配置在其中,然后設置環境變量TUXCONFIG,使用系統命令:tmloadcf 來將文本文件ubb.txt,轉化生成環境變量TUXCONFIG制定的二進制文件。在該文件中主要包含了幾個參數的設置:系統所使用的共享內存的鍵值IPCKEY,針對workstation客戶端的監聽進程的端口(WSL),多台機器之間互連(登記中心與各網關)的網絡地址和端口(NADDR,NLSADDR),數據依賴路由的設定等等。

詳細的內容參看《Ubbconfig配置.doc》

參看模版來實現移植或添加應用進程等等。

2、  對於dmconfig文件,可以任意使用一個文件名(如:dm.txt),使用一種文本編輯工具,將應用系統的多域互聯及互相調用的關系進行配置,包括多域之間互聯的地址和端口,然后使用系統命令:dmloadcf 來將文本文件dm.txt,轉化成環境變量BDMCONFIG所指定的二進制文件。在該文件中主要包含了在多個域互連時用到的一些設置,主要包括:各個域的定義,各個域通訊連接的地址和端口(NWADDR),本地服務(DM_LOCAL_SERVICES)和遠端服務(DM_REMOTE_SERVICES)以及數據依賴路由等等。

詳細的內容參看《dmconfig配置.doc》

參看模版來實現移植或添加應用遠端或本地服務等等。

3、  客戶端代碼:是指使用編譯工具buildclient編譯生成的執行代碼。在編譯過程中,當使用編譯參數:-w 時,將連接庫wsc等,生成的執行代碼將調用遠端的服務,即通過環境變量:WSNADDR來查找相應的WSL的地址和端口;當編譯沒有使用參數:–w時,生成的執行代碼將調用本機的服務,通過環境變量:TUXCONFIG來實現調用相應的服務,如果要調用異域(如:代理集中點到登記中心)的服務,就需要在dmconfig文件中配置和公布服務。

4、  服務進程:是指使用編譯工具buildserver編譯生成的執行代碼,不要出現main()函數,啟動和關閉要使用Tuxedo的工具:tmboot 和 tmshutdown

 

二、應用系統的環境配置,即系統運行時的環境變量的設置

 一般的這些環境變量都放在用戶注冊是的.profile文件中,也可以根據應用放置在專門的文件中,如:setenv等等,環境的設置主要包括:

TUXDIR:其值為TUXEDO的安裝目錄。

例如:TUXDIR=/home/tuxedo 或 TUXDIR=/home/bea

TUXCONFIG:其值為含有絕對路徑二進制的資源配置文件的文件名,系統啟動、監控、關閉等等都要用到此環境變量,當客戶端的代碼要調用應用系統的本機服務時也需要使用此變量。

例如:TUXCONFIG=/home/work/etc/tuxconfig

BDMCONFIG:其值為含有絕對路徑二進制的多域配置文件的文件名,在使用多域間互聯時要用到此環境變量。

例如:BDMCONFIG=/home/work/etc/dmcomfig

PRINTERDIR:傳輸文件的放置目錄,主要是針對文件傳輸來使用的。

例如:PRINTERDIR=/home/work/print

FTP_BLOCK_SIZ:針對文件傳輸的,每次傳輸的快的大小,如果沒有設置,則系統默認為1024。

例如:FTP_BLOCK_SIZE=10240;export FTP_BLOCK_SIZE

WSNADDR:客戶端(workstation)設定的,指向服務器端WSL監聽的地址和端口,當客戶端的代碼要調用系統的遠端服務時需要此環境變量。

例如:WSNADDR=//192.168.42.210:7001

 

Tuxedo 的管理和維護

一、系統的啟動:

1、  多機系統的啟動(如:登記中心的啟動)

首先設置環境變量,在各台機器上啟動tlisten進程,一般設置在setenv中,然后在主管理機上,使用命令tmboot啟動應用系統

tmboot 命令可以選擇使用多個參數:

-A  在各台機器上啟動核心的進程(DBBL,BBL)。

-l lmid 啟動某一台機器lmid上的全部進程,機器名:lmid是在文件ubb.txt中配置的邏輯名。

-g grpname 啟動某一組grpname中的全部進程。

-s server 啟動某一個進程server。

2、  單機系統的啟動(如:代理集中點的起動)

首先設置環境變量,然后使用命令tmboot

-A  在機器上啟動核心的進程(BBL)。

-g grpname 啟動某一組grpname中的全部進程。

-s server 啟動某一個進程server。

二、系統的關閉:

1、  多機系統的關閉(如:登記中心的關閉)

應該在主管理機上,使用命令tmshutdown

tmshutdown 命令可以選擇使用多個參數:

-y  關閉各台機器上的全部進程。

-l lmid 關閉某一台機器lmid上的全部進程。

-g grpname 關閉某一組grpname中的全部進程。

-s server 關閉某一個進程server。

2、  單機系統的關閉(如:代理集中點的關閉)

使用命令tmshutdown

-y  關閉機器上的全部進程。

-g grpname 關閉某一組grpname中的全部進程。

-s server 關閉某一個進程server。

三、系統的日志跟蹤:

1、  使用管理工具tmadmin

運行tmadmin進入管理維護界面

2、  查看系統日志 ULOG.mmddyy

在系統設定的目錄下查看日志文件:ULOG.mmddyy和應用系統自己的日志。

 

代理集中點的安裝和配置

一、軟件打包

將目前的代理集中點上的配置文件目錄~/etc和簡單測試目錄~/apps打成一個包。在目錄~/apps下的內容多適用於測試環境配置結束后是否正常,在系統正常啟動運行后就不再有什么作用了。

二、系統安裝和配置

1、  修改資源管理配置文件:ubb.txt

可以使用任意的文本編輯工具,如vi等等編輯工具,以下同。

修改其中的:IPCKEY,TUXDIR,APPDIR,TUXCONFIG,ENVFILE,ULOGFPX和主機名(通過uname –n看到的)等的值,使之與實際環境相一致。修改 WSL的參數:CLOPT=“-A -- -n 地址:端口…”,使之與實際的環境一致,例如:CLOPT=“-A -- -n 192.168.42.220:7410”。

2、  修改域管理配置文件:dm.txt

修改:NWADDR的地址:端口,例如:NWADDR="//192.168.42.231:7310"

要注意在系統中的dm.txt中的DOMAINID要保持一致,即在不同的文件重要有統一的命名。

3、  修改環境變量設置文件:setenv,將如下環境變量的值進行修改,使之與實際的配置想符合,以下是參考。

例如:

TUXDIR=/home/tuxedo; export TUXDIR

PATH=$TUXDIR/bin:$PATH:$HOME/runtime:.; export PATH

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

LIBPATH=$TUXDIR/lib:$LIBPATH; export LIBPATH   ( for AIX )

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系統上的函數庫環境設置有個不相同的環境變量(如:SHLIB_PATH、LIBPATH),需要注意。

針對文件傳輸的,如果文件較大,可以將環境變量FTP_BLOCK_SIZE的值設置的大一點,如果沒有設置該環境變量,則系統默認為1024。例如:

FTP_BLOCK_SIZE=10240;export FTP_BLOCK_SIZE

4、  系統啟動

首先設置環境變量,可以放在.profile中,也可以執行文件. ./setenv,並創建日志存放目錄 ~/log。

然后執行tmboot 即可

三、故障排除

查看系統日志 ULOG.mmddyy

在系統設定的目錄下查看日志文件:ULOG.mmddyy和應用系統自己的日志。

 

登記中心的安裝和配置

一、軟件打包

將目前的登記中心及其網關機上的配置文件目錄~/etc和簡單測試目錄~/apps,及網關機上的~/cjhb打成一個包。在目錄~/cjhb下的內容是用於完成成交回報交易的。

二、系統安裝和配置

1、  修改資源管理配置文件:ubb.txt

可以使用任意的文本編輯工具,如vi等等編輯工具,以下同。

修改其中的:IPCKEY,TUXDIR,APPDIR,TUXCONFIG,ENVFILE,ULOGFPX和主機名(通過uname –n看到的)等的值,使之與實際環境相一致。修改 WSL的參數:CLOPT=“-A -- -n 地址:端口…”,使之與實際的環境一致,例如:CLOPT=“-A -- -n 192.168.42.220:7410”。

2、  修改域管理配置文件:dm.txt,此文件可以放在登記中心機器上,也可以放在網關機器上的響應目錄下。

修改:NWADDR的地址:端口,例如:NWADDR="//192.168.42.231:7310"

要注意在系統中的dm.txt中的DOMAINID要保持一致,即在不同的文件重要有統一的命名。

3、  修改環境變量設置文件:setenv,將如下環境變量的值進行修改,使之與實際的配置想符合。

例如:

TUXDIR=/home/tuxedo; export TUXDIR

PATH=$TUXDIR/bin:$PATH:$HOME/runtime:.; export PATH

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

LIBPATH=$TUXDIR/lib:$LIBPATH; export LIBPATH   ( for AIX )

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

針對文件傳輸的,如果文件較大,可以將環境變量FTP_BLOCK_SIZE的值設置的大一點,如果沒有設置該環境變量,則系統默認為1024。例如:

FTP_BLOCK_SIZE=10240;export FTP_BLOCK_SIZE 

4、  修改在網關機上的環境設置文件envfilesetenv,將如下的環境變量進行修改,使之與實際的配置想符合。

除了上面列出的還有如下幾個變量:

MCHSNDFILE=/tmp/beta/matchsend.txt;export MCHSNDFILE

FSNDLOG=/tmp/beta/Fsnd.log;export FSNDLOG

PRINTERDIR=/tmp/beta; export PRINTERDIR

主要是用於成交回報交易的。

5、系統啟動

首先設置環境變量,可以放在.profile中,也可以執行命令. ./setenv

然后再登記中心機器上(MASTER)執行tmboot 即可,可以選擇分步來啟動應用系統,使用:tmboot –A 和 tmboot –l 來逐個啟動系統。

 

網點的安裝和配置

一、軟件打包

1、  網點的中間件軟件(tuxedo),只是需要一些客戶端的庫函數等等,在選擇workstation模式安裝后,將tuxedo的所有文件達成一個包即可。

2、  需要在網點編譯時,要注意配置環境變量,參看下面的系統配置。

二、系統的配置

1、  配置環境變量

修改環境變量設置文件(tux.env 或setenv),將如下環境變量的值進行修改,使之與實際的配置想符合。

例如:

TUXDIR=/home/tuxedo; export TUXDIR

PATH=$TUXDIR/bin:$PATH:$HOME/runtime:.; export PATH

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

LIBPATH=$TUXDIR/lib:$LIBPATH; export LIBPATH   ( for AIX )

LD_LIBRARY_PATH=/usr/tuxedo/lib: /usr/informix/lib/esql  ( for SCO 

NLSPATH=$TUXDIR/locale;export NLSPATH

LANG=C;export LANG

2、  配置與代理集中點相連接的環境變量

各個網點的應用代碼都是通過工作站(workstation)方式與代理集中點連結的。因此要配置連結代理集中點的tcp/ip地址和端口。

              例如:

                     WSNADDR=//192.168.42.220:7520; export WSNADDR

                     也可以主機名加端口,例如:

                     WSNADDR=//hp01:7520; export WSNADDR

 

 

常見的問題及解決方法

以下常見的都是在使用中間過程中遇到的問題:

一、與數據庫的連接問題

在測試中看到,應用代碼都是自己去聯的數據庫,為了保證效率,都是在進程啟動的時候預先建立起連接,這樣保證了交易進行時的效率;但當數據庫出現宕機時,連接也將隨之丟失了,這時的應用程序就不能再訪問數據庫了,在目前的應用中都沒有對訪問數據庫的返回碼進行判斷,如果是連接失敗的可以選擇重新連接數據庫,而不是退出交易,這樣交易又可以正常運行了。

目前,這樣的情況出現后,就需要將應用系統重新啟動,使應用程序同數據庫進行重新連接。

二、代理集中點上常見的一個問題

在代理集中點上常看到兩條隊列,鍵值是32和3e8,這兩條隊列在寫滿時,因為監控進程沒有及時讀隊列,常常會影響與之有關的幾個進程,只需要將這兩條隊列清空就可以了。

三、系統啟動不正常

常見的原因有如下幾個:

1、  環境變量沒有設好,如上面的所說的各個環境變量。可以到~/etc目錄下使用命令:. ./setenv來設置一下。

2、  據庫連接失敗,這樣會導致連接數據庫的應用進程不能啟動。檢查數據庫確保能夠正常連接后,再重新啟動這些進程。

3、  單個進程的問題,比如執行權限等等,參看日志文件來找出原因。

4、  在登記中心使用的是多機互連方式,主管機器負責啟動所用的進程,在所有的機器上都要有相應的監聽進程:tlisten,對於網關機上的服務,如果網關機宕機或被重新啟動時,要將監聽進程啟動起來,在~/etc目錄下,使用命令:. ./setenv即可,然后先在主管機器上運行tmadmin,進入后並執行pcl gwname命令來清理掉網關機得響應信息,再退出並重新啟動網關機上的應用系統:tmboot –l gwname。

注:gwname時網關機的邏輯名,在ubb.txt(Ubbconfig)中定義的,不同的網關機有不同的邏輯名。

注:tlisten進程可以多次啟動,當該進程已經正常運行時,再次啟動會報出錯誤信息:CMDTUX_CAT:1319: INFO: Terminating tlisten process,在日志文件中也有相應的記錄,這說明該進程已經啟動了。

5、  如果有某些進程始終在內存中,導致系統不能啟動時,可以將這些進程殺掉,並將與之相關的隊列和內存也都清掉,然后重新啟動系統。

四、系統關閉不正常

1、  客戶端與系統在發生交易或連接,如:tmadmin等等或客戶端的某些服務等正在運行,這些都會導致系統的主進程不能正常關閉。

2、  登記中心使用的是多機互連方式,主管機器負責啟動和關閉所用的進程,在所有的機器上都要有相應的監聽進程:tlisten,對於網關機上的服務,如果網關機宕機或被重新啟動時,要將監聽進程啟動起來,在~/etc目錄下,使用命令:. ./setenv即可,然后先在主管機器上運行tmadmin命令,然后執行pcl gwname命令來清理掉網關機得響應信息,再退出並重新關閉網關機上的應用系統:tmshutdown –l gwname。

注:gwname時網關機的邏輯名,在ubb.txt(Ubbconfig)中定義的,不同的網關機有不同的邏輯名。

注:tlisten進程可以多次啟動,當該進程已經正常運行時,再次啟動會報出錯誤信息:CMDTUX_CAT:1319: INFO: Terminating tlisten process,在日志文件中也有相應的記錄,這說明該進程已經啟動了。

3、  如果有某些進程始終在內存中,導致系統不能正常關閉時,可以將這些進程殺掉,並將與之相關的隊列和內存也都清掉;這些進程往往都是由於運行中出現的異常導致僵死在內存里了,需要手工干預的。

4、  有時候,有幾個操作人員在同時啟動系統,會導致系統的某些進程與主進程失去聯系,這樣就很難關閉了,只好手工來殺掉(kill),並將與之相關的隊列、信號燈和共享內存也都清掉(ipcrm)。

五、交易連接失敗

1、環境變量設置有誤,特別是使用客戶端代碼,直接連接遠端服務的;需要重新設定環境變量,如:WSNADDR,TUXCONFIG等等,環境變量設置正確后,再進行交易就可以了。

2、對方交易沒有啟動,這是的出錯代碼在日志文件中tperrno=6,是很典型的,找不到相應的服務;檢查服務是否存在,重新啟動服務即可。

3、在代理集中點上常常因為某條隊列(32或 3e8)阻塞,影響幾個進程的訪問,如操作員注冊等會因為超時而失敗;只需要將這兩條隊列清空就可以了。

六、成交回報的交易出錯

1、  進程(gwreadfs)啟動時有錯誤;檢查網關機上環境設置是否正確,查看文件~/etc/envfile中的內容,並根據其中的環境變量MCHSNDFILE和FSNDLOG所指定的文件, 如:~/data/matchsend.txt和~/data/Fsnd.log,看看這兩個文件是否存在,否則,啟動時會指出文件打不開而出錯的。

2、  成交回報的內容沒有正確的傳到代理集中點上,要檢查文件:senderr.log看其中的代理集中點號是否正確,主要是位置是否正確,並且看看在路由表中是否有配置,這類問題在測試初期曾出現過多次。

3、  交易過程中,文件如果被刪除掉了,(特別是目前放在臨時目錄下的這種情況),就需要在啟動進程前,手工創建一個同名的空文件matchsend.txt;如果進程已經啟動,則需要重新啟動該進程。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM