005金融基础件10安装手册概述Word文档格式.docx
《005金融基础件10安装手册概述Word文档格式.docx》由会员分享,可在线阅读,更多相关《005金融基础件10安装手册概述Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
⑵MAS配置部分20
⑶Nrs.xml配置修改20
⑷启动Windows平台中间件21
4.3应用节点启动顺序21
⑴启动Linux平台中间件21
⑵启动Windows平台中间件21
1.前言
1.1文档概述
本文主要阐述了金融基础件1.0的安装方法以及安装过程中需要注意的几个关键点。
本文不讨论具体的中间件部署方案与技术细节,与此相关的信息请参阅其它技术文档。
1.2适用范围
本文为金融基础件1.0安装的规范化文档,安装中间件时请以本文为参考规范。
2.金融基础件1.0安装包简介
2.1安装包目录结构
表-2.1
子目录
下级子目录
linux.i386
--
基础件安装目录,如果是Windows平台,则为win2k.i386
Bin
执行文件目录,AR/AS/HSDEMON等可执行文件、工具(需要有可执行权限)
Lib
基础件动态库/共享库目录,包含底层通信库和安全库等
workspace
AR或AS运行目录(配置文件、启动脚本、通信异常日志存放于运行目录下)
cert
证书库目录
log
日志文件目录
fileq
可靠传送数据目录(为可靠起见,最好在AS启动前删除此目录下文件)
Upgrade
客户端自动更新功能文件存放源目录(一般位于Windows平台的管理AS上)
appcom
业务功能组件目录,此目录要加入到相关环境变量中去(LD_LIBRARY_PATH)
2.2安装包使用方式
金融基础件1.0安装包的使用方式很简单,可以采取复制解压的方式来使用,纯绿色的安装过程。
2.3金融基础件1.0典型架构
图-3.1
金融基础件1.0典型架构如上图-3.1所示,任何一个生产环境的复杂拓扑最终都可以归结为三层架构。
3.金融基础件1.0安装流程
金融基础件1.0是恒生推出的第一个跨平台的中间件产品,可以同时支持Windows与Linux平台。
下面针对Windows与Linux平台的不同特点分两部分来讲解安装过程。
以下安装过程中所使用的金融基础件安装包为:
金融基础件安装包(200708整理).rar。
注意:
金融基础件1.0安装包请统一从维护部获取,保证所拿到的是最新的稳定版本。
假设当前将部署一个如下图所示的测试环境,环境中所涉及的各类对象的标识如图中所标注。
图-4.1
图解注释:
-----------------------------------------------------------------------------------
Linux平台:
DataBase:
后台Oracle数据库;
TAS:
主交易AS
SHBPAS:
上海报盘(捡漏)AS,辅助上海市场未报待报委托扫描捡漏,然后主推给报盘机;
SZBPAS:
深圳报盘(捡漏)AS,辅助深圳市场未报待报委托扫描捡漏,然后主推给报盘机;
RAR:
核心AR,负责按指定规则(路由)转发数据包;
Windows平台:
HSClient:
普通柜台客户端,日常业务操作平台;
HSAdminClient:
管理客户端,金融基础件1.0集中管理平台;
MAS:
管理AS,负责管理客户端登录校验、客户端自动更新、配置管理等;
WAR:
Windows平台AR,与核心AR相连,此处用作客户端与管理AS的接入点。
上述测试环境可以采用两台主机或者主机+虚拟机的方式进行部署。
3.1Linux平台安装
3.1.1Linux操作系统安装
OS平台安装部分,请参阅《001-Linux简明安装手册》.pdf
3.1.2Oracle数据库安装
Oracle数据库安装部分,请参阅《002-Oracle10GR2ForRHELAS4U5安装手册(20100316).doc》
3.1.3安装中间件
3.1.3.1安装之前检查和准备工作:
检查内核参数设置(vi/etc/sysctl.conf)
kernel.shmmax=物理内存的一半
kernel.shmmni=4096
kernel.shmall=2097152
kernel.sem
=25032000100128
fs.file-max
=65536
net.ipv4.ip_local_port_range=102465000
参数shmmax:
kernel.shmmax=1024*1024*RAM(M)/2(至少),即数值大小为物理内存一半(以字节为单位)。
在32bit的OS上shmmax最大值也就4294967295=4G-1,如果超过这个值shmmax会被自动置成0,从而导致AS启动时提示:
“Failedtoopendatabasemonitor”。
检查系统限制参数设置(vi/etc/security/limits.conf)
查看/etc/security/limits.conf,看是否包含以下设置:
*softnofile65536
*hardnofile65536
*softnproc16384
*hardnproc16384
nofile为文件句柄数限制;
nproc为进程数限制。
检查selinux是否已经禁用(vi/etc/selinux/config)
以root身份执行命令getenforce:
Disabled:
selinux处于关闭状态;
Enforcing:
selinux处于启用状态;
禁用方法:
编辑/etc/selinux/config文件,修改SELINUX=disabled,然后重启机器。
检查tmp目录权限
所有用户必须对tmp目录有权限,否则AS启动可能会提示如下错误:
“Failedtoopendatabasemonitor”。
创建中间件管理用户(root用户)
在Linux平台上创建中间件管理用户handsome:
因上述测试环境中AS与AR是安装在一起的,所以Linux系统上创建handsome用户时必须将其加入oinstall组与dba组,与oracle用户所属的组保持一致,以便handsome用户启动AS时能正常访问Oracle数据库。
可以用以下命令来检查handsome用户所属组与oracle用户是否一致。
上传中间件安装包
将金融基础件安装包(200708整理).rar\Linux版中间件.rar\HANDSOME\下的appcom、linux.i386、workspace解压后以handsome用户身份通过SFTP或者SSH上传至Linux主机/home/handsome/目录下,上传完毕后,确保目录结构如下所示:
图-4.1.1
上传完毕后要注意修改相关文件的权限,使用如下命令(以handsome用户身份执行):
----修改金融基础件1.0主执行程序文件的权限为755
chmod-R755/home/handsome/linux.i386/Bin/*
----修改workspace目录下启动脚本的权限为755
chmod-R755/home/handsome/workspace/*
修改SHELL环境配置文件
执行以下命令,以root身份先拷贝一份oracle用户的环境配置文件至handsome用户主目录下(/home/handsome),然后以handsome身份编辑/home/handsome/.bash_profile文件(执行命令时注意用户身份):
命令注解:
~用户名即代表某用户的主(家)目录,例如:
~oracle即代表/home/oracle。
确保在原有配置基础之上添加以下内容(橙色高亮部分):
---------------------------------------------------------------------------------------
#.bash_profile
#Getthealiasesandfunctions
if[-f~/.bashrc];
then
.~/.bashrc
fi
#Userspecificenvironmentandstartupprograms
PATH=$PATH:
$HOME/bin
exportPATH
unsetUSERNAME
FBASE_HOME=$HOME/linux.i386;
exportFBASE_HOME
ORACLE_BASE=/u01/app/oracle;
exportORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;
exportORACLE_HOME
ORACLE_SID=HS2008;
exportORACLE_SID
NLS_LANG="
SIMPLIFIEDCHINESE_CHINA.ZHS16GBK"
;
exportNLS_LANG
/usr/sbin:
/sbin:
$ORACLE_HOME/bin:
$FBASE_HOME/Bin:
.;
exportPATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:
$HOME/appcom:
$FBASE_HOME/Lib;
exportLD_LIBRARY_PATH
LANG=zh_CN.GBK;
exportLANG
ulimit-cunlimited
修改保存之后,SSH重新登录或者执行以下命令使.bash_profile中的相关设置立即生效:
..bash_profile或者source.bash_profile
.bash_profile配置文件中LD_LIBRARY_PATH环境变量中确保$HOME/appcom位于$FBASE_HOME/Lib之前,优先保证业务功能组件so文件的正常加载。
3.1.3.2创建中间件相关证书
依据图-4.1的拓扑结构,当前测试环境需要创建以下证书:
表-4.1.1
证书类型
证书名称(所有者)
根证书
证书名称自定义,此处命名为:
HSTEST
AS证书
证书名称同AS组名:
TAS1、SHBPAS、SZBPAS、MAS
AR证书
证书名称同AR组名:
RAR1、WAR
客户端证书
包含知名与匿名客户端证书,名称固定
创建证书的流程/home/handsome/workspace下运行:
运行safe命令--->
创建根证书(fccs)—>
打开根证书(kc)—>
创建其他类型证书(fccs)
如果根证书已经存在:
运行safe命令后(必须在/home/handsome/workspace下运行),执行以下命令开始创建证书:
常见错误:
Q:
创建证书时,提示“Segmentationfault”,safe命令异常退出。
A:
错误可能原因有三种:
safe命令的运行目录不是/home/handsome/workspace;
/home/handsome/workspace目录下没有cert子目录;
handsome用户对/home/handsome/workspace目录下的cert子目录没有读写权限。
safe命令的运行目录下必须有cert子目录,且对其有读写权限,否则就会提示上述错误。
1、创建根证书
创建任何证书之前必须首先打开根证书(kc),然后再用fccs指令创建其他证书。
2、创建AR证书
3、AS证书的创建
4、创建客户端证书
>
q----退出
至此完成了测试环境所有应用节点证书的创建工作。
创建证书时注意的问题,请参见《证券交易系统06单机版【傻瓜式】安装手册(使用虚拟机VMware).doc》中第七部分:
金融基础件1.0安装注意问题
(1)。
3.1.3.3修改中间件配置文件
在/home/handsome/workspace目录下有四个配置文件,分别与图-4.1中的四个应用节点相对应:
RAR------->
RAR1.xml
TAS------->
TAS1.xml
SHBPAS---->
SHBPAS.xml
SZBPAS---->
SZBPAS.xml
我们只需在这些配置文件的基础之上做修改即可。
AR/AS公共通信配置部分(修改范围:
所有配置文件)
上述内容为AR/AS的公共通信配置部分,因当前根DEMON与AR/AS都是部署在一台机器上,所以NrsServer参数的值即为Linux主机的IP地址。
AS专用配置部分(修改范围:
TAS1.xml、SHBPAS.xml、SZBPAS.xml)
AS基础服务组件配置部分
上述内容为AS基础服务组件配置部分,除此之外的组件配置项建议删除。
AS通信配置部分
在TAS1.xml、SHBPAS.xml、SZBPAS.xml三个配置文件中的相关参数设置如下表所示:
应用节点
配置文件
group_name
Port
UseMulti
ar
MultiIP
MultiNet
TAS
TAS1
18517
Yes
RAR1
多播地址
网段(络)地址
SHBPAS
18518
No
删除
SZBPAS
18519
配置注解:
-----------------------------------------------------------------------------------------
group_name:
定义节点组名,依据图-4.1中的应用节点名称标注来做相应修改。
Port:
应用节点本地侦听,因为TAS、SHBPAS、SZBPAS都部署在一台机器上,相应的Port参数必须设置为不同值,避免端口冲突。
注意此端口为UDP侦听端口,Linux系统显示当前所有的UDP侦听:
netstat-nlpu
UseMulti:
多播主要用于组内成员之间通信,因此对于采用单节点部署方式的捡漏AS(SZBPAS、SHBPAS)而言,并不需要多播通信,此参数可以设置成“no”。
MultiIP:
多播IP地址,是指IPv4规范中的D类地址:
224.0.0.0到239.255.255.255,设置的原则:
a、建议选取的范围:
AR:
233.xxx.xxx.xxx
AS:
234.xxx.xxx.xxx
b、组内成员MultiIP设置必须相同
c、不同组的MultiIP设置为不同值
在实际应用部署时,对网内所有群组MultiIP的设置要做一定规划。
对于捡漏AS而言,因单节点部署不需要多播通信,此参数建议删除。
MultiNet:
多播网段,如果主机上有多块网卡,则必须要指定一个网段地址用来传送多播消息。
AS处理线程设置
以上配置段中参数“num”指定了AS的处理线程数,monitor_interval指监听间隔时间,num参数的设置原则如下:
a、线程数一般依据CPU内核数来进行设定,存在以下基本关系:
num(线程数)=CPU内核数x2+1
即每个CPU内核配置两个线程,再加上一个专门处理管理功能的线程;
b、线程数的上限值为30,但因线程数增加会带来数据库连接数与OS文件句柄数的增加,
有可能会引发一些异常,因此一般线程数的建议值为:
8~16之间;
c、线程数的选择最好综合考虑主机硬件性能以及实际压力测试的结果来最终确定;
d、调整线程数,一定要注意同步调整AS配置文件中各用户的初始化数据库连接数(InitConnCount),否则有可能会提示“DefaultConnisnull”之类的错误。
AS数据源配置部分
以上配置段与数据库连接相关的参数配置。
Server:
指定访问Oracle数据库的本地网络服务名(即配置tnsnames.ora文件时的网络服务名);
InitConnCount:
AS访问数据库采用的是预建连接池的方式,这个参数指定了每个用户的初始化数据库连接数。
此参数值必须与之前提到的线程数按一定比例配置,具体如下:
hs_user:
按线程数:
连接数=1:
3进行配置,即num=“3”,则InitConnCount=“9”,而其他用户的连接数则按线程数:
2进行配置。
AS内存数据库同步范围配置部分
以上配置段为AS的内存数据库同步范围配置部分,如果AS在处理某个业务请求时,涉及到内存数据库缓存表的数据变动,则AS会发起缓存同步,通知网内其他的AS节点更新内存数据库中相应表的数据。
as_group_name:
指定需要同步的AS组名;
ar_group_name:
指定AS组所连接的AR组名;
first:
指定需要同步的AS组内成员范围的起始节点(组内第一个成员优先级);
last:
指定需要同步的AS组内成员范围的结束节点(组内最后一个成员优先级);
此配置段中,需要把网内部署的所有AS(除了管理AS)都配置进去,同时要注意first与last参数的正确设置,确保网内所有AS节点内存数据库的一致性。
AR专用配置部分(修改范围:
RAR1.xml)
AR的基础服务组件配置部分
除此之外的组件配置项建议删除。
对于fsc_syslog组件一般加载到AS上便于更好的记录分析运行期错误信息,AR可以不加载此组件。
AR通信配置部分
以上配置部分中,ar1port参数指定了AR的TCP服务端口(侦听端口),主要用于组件服务器的连接,Linux系统显示当前所有的TCP侦听:
netstat-nlpt;
group_name指定了AR的组名。
以上为AR的通信参数配置部分,相关参数含义同AS。
一般只需要调整Port、MultiIP、MultiNet三个参数即可。
AR安全配置部分
AcceptDes:
节点所能接收的连接安全等级,压力测试时,建议将其设置成0(即不加密);
ConnectDes:
节点发起连接的安全等级,压力测试时,建议将其设置成0(即不加密);
Compress:
是否启用数据压缩,压力测试时,建议将其设置成0(即不压缩);
UseDynamicBlack:
是否使用动态黑名单,建议设置成“n”(即不启用动态黑名单);
两个群组相连,下级的ConnectDes一定要与上级的AcceptDes相匹配,需满足:
下级ConnectDes>
=上级AcceptDes。
以上为核心AR的路由配置部分,此处在配置上已经做了简化,删除了诸如查询请求转发至查询服务器等的路由条目,只保留了最基本的三条。
下面解释了三条路由的作用:
a、第一条路由将客户端自动更新请求(9999、9998)与管理客户端登录请求转发至管理AS(MAS),注意路由的优先级需要设置成priority="
255"
;
b、第二条路由将查询行情请求(400)转发至连接在插件上的组件服务器(HSCOMSVR)
注意路由的优先级需要设置成priority="
c、第三条路由将其他所有请求转发至交易TAS;
以上为AR专用配置部分(修改范围:
NRS.xml配置(修改范围:
nrs.xml)
(关于NRS的理解和配置请参考文档《理解nrs.xml和nrs的设置.doc》)
NRS.xml配置文件完成了组名与网络通信参数的转换,AS连接AR时,会根据目标AR组名在nrs.xml配置文件中找到对应的网络通信参数(地址+端口)。
如果上级目标AR组内有多个成员,则需要在nrs.xml配置文件中按相应格式添加。
以上为NRS.xml配置(修改范围:
中间件的启动脚本
Linux平台启动中间件,采用执行shell脚本的方式来进行。
相关启动脚本位于/home/handsome/workspace目录下:
runas:
启动TAS;
runar:
启动RAR;
runshbp:
启动SHBPAS;
---单机环境下不用执行。
runszbp:
启动SZBPAS。
执行上述启动脚本时,当前目录必须切换至/home/handsome/workspace/,因节点启动时会读取当前目录下cert子目录中的证书信息。
启动脚本内容解析:
至此完成了Linux平台中间件所有的配置工作。
4.2Windows平台安装
将金融基础件安装包(200708整理).rar\windows版中间件.rar\HANDSOME目录解压后放置Windows系统D盘,确保目录结构如下所示:
图-4.2.1
Windows平台上,我们将安装部署两个应用节点:
WAR与MAS。
WAR配置部分(修改范围:
AR-2020.xml)
配置文件位置:
D:
\HANDSOME\workspace\AR-2020.xml,首先重命名AR-2020.xml配置文件为WAR.xml(同步修改runar.bat批处理中的对应配置文件名称)。
WAR配置成连接核心RAR1,在参数配置上主要调整以下几个部分:
根DEMON部署在Linux主机上,所以此处的NrsServer即为Linux主机IP地址。
fsc_transfer组件配置项建议删除,该组件主要针对AS,AR上不需要配置该组件。
注意修改上述下划线标注部分的参数:
group_n