2023年12月30日发(作者:)

PI3000平台集群环境部署指南

1 基本概念

 集群与WebLogic集群

集群是由多台服务器组成的高性能、高可靠性的应用系统环境,通常以F5或软件代理方式对外提供统一服务。

Weblogic集群是由多个Weblogic服务实例组成的应用系统集群环境,提供统一配置、管理、部署、升级、日志、监控等功能,并实现会话复制、fail

over等高级功能。具体安装配置方法参考Oracle WebLogic的相关文档。

PI3000平台可通过集群部署方式提高性能、可用性,但并非要求必须采用WebLogic集群部署方式,多台独立的WebLogic服务器再通过F5负载均衡,也是一种简单易行的集群部署方式。

因此,具体采用何种集群部署方式由项目决定。

 WebLogic管理服务与PI3000管理服务

WebLogic管理服务即WebLogic提供的对WebLogic集群进行管理的服务程序。

PI3000平台也自带管理服务,该服务可对集群中PI3000平台各应用服务进行统一配置、控制、日志浏览、服务监控等操作。但与WebLogic管理服务的功能定位不同,也未实现服务部署等功能。

强调一点,PI3000平台的管理服务在集群中只部署一份,并可部署在集群环境中的任一服务器上或集群以外的某一独立服务器。

 JGroups

PI3000平台的应用服务通过JGroups实现集群中服务间的数据同步。

2 典型部署方式

PI3000平台在集群环境中部署时,除管理服务(Management)、任务调度服务(TaskDispatch)只能单点部署外,其他服务一般都部署在每一个节点中。

1 / 23

通常可以采用一台性能一般的服务器部署Management,当然如果服务器有限,也可以将Management、TaskDispatch与其他服务部署到集群的某一节点上,但其他节点仅部署Management、TaskDispatch之外的服务。例如以下示例,表示有两个Weblogic实例节点的情况下,PI3000平台的部署结构:

 非Weblogic集群示例

2 / 23

 Weblogic集群部署示例

3 初次部署的操作步骤

3.1 配置F5

需要在F5中将多台服务器的IP:Port映射为统一的虚拟IP地址。具体配置请咨询F5厂家。

由于PI3000的MWWebSite服务有会话,需要将F5的转发策略设置为“会话保持”。

3.2 配置集群各服务节点操作系统环境变量

 与JGroups相关的配置

添加环境变量:JAVA_OPTIONS=”-s=xxxx”,xxxx为当前服务器的物理IP。此参数在Weblogic启动时,将作为参数传递给JVM。

 操作系统性能调优参数

3 / 23

以Linux系统为例

1. 字符集

Linux系统的字符集应该是zh_2312或zh_。

AIX系统的字符集应该设置成zh_CN。

2. 网络设置

Linux/AIX: 修改/etc/hosts文件,删除127.0.0.1的绑定;添加数据库服

务器IP的映射(RAC方式下需要分别添加所有成员的IP映射)

Windows: WINDOWSsystem32driversetchosts

调整Linux系统使用sysctl命令修改TCP参数等待时间间隔:sysctl -w

ip_ct_tcp_timeout_time_wait=60;

3. 文件打开数量限制

调整打开文件的最大数:在/etc/文件中,添加:-max=65535,然后运行sysctl –p;

调整打开文件描述符最大数为8192:在/etc/security/文件,添加:WebLogic hard nofile 8192(仅针对WebLogic用户),然后在WebLogic启动脚本最前面添加ulimit-n 8192激活设置。

3.3 配置WebLogic

 升级到最新版本,Weblogic9X系列最新稳定版本是Weblogic 9.2 MP3

 安装IO性能优化包。一般Linux版本自带,AIX版本需用单独安装

 ServersAdminServerConfigurationGeneralTuning

Socket Readers 用于SocketReader的工作进程数,建议设置成45

Accept Backlog 可以排队的TCP连接个数,建议设置成75

 ServersAdminServerLogging

Log File Security Level 调整为Warning(对性能影响比较大)

HTTP access log file enabled False (关闭HTTP访问日志)

 JDBC Connection Pool

Initial Capacity与Maximum Capacity可以设置为相同,具体值可以参考以下公式计算:数据库最大连接个数>应用服务器个数*Maximum Capacity。

4 / 23

3.4 数据库连接方式

PI3000平台的数据库连接方式分为直连方式和数据源方式。直连方式为直接通过IP连接的方式;数据源方式为通过在WebLogic中配置数据源的方式。数据源可分为单数据源和多数据源。以下对PI3000平台自定义的各类数据库连接字符串进行说明,具体配置方法参见“3.5.2.1添加所有的服务器节点”章节。

3.4.1 单数据源配置

1. 直连方式

PI3000连接oracle数据库的连接字符串参考:

value="jdbc:mwdbc:oracle://Server=10.144.100.203:1521;Database=mw;User=mw_sys;Password=sys;initPoolSize=5"/>;

PI3000连接db2数据库的连接字符串参考:

value="jdbc:mwdbc:db2://Server=10.144.100.203:50000;Database=mw;User=mw_sys;Password=sys;initPoolSize=5"/>

2. 数据源方式

在WebLogic中配置DataSource可参考“附录 WebLogic中的数据源配置”章节。此时PI3000连接字符串参考:

value="jdbc:mwdbc:oracle://DataSource=MW"/>,其中MW为配置数据源时输入的JNDI Name。

注:此时虽然使用DataSource,但仍需要明确定义所连接的数据库类型。原因是底层处理特定数据类型时与物理数据库有关。

3.4.2 多数据源配置

1. 基于IP的直连方式

PI3000连接oracle数据库的连接字符串参考:

5 / 23

value="jdbc:mwdbc:oracle://Server=10.144.100.203:1521,10.144.100.202:1521;Database=mw;User=mw_sys;Password=sys;initPoolSize=5"/>

注:LINUX/AIX操作系统上直连方式需要配置hosts映射。

2. 基于Multi DataSource的方式

在WebLogic里配置Multi DataSource可参考“附录 WebLogic中的多数据源配置”章节。此时PI3000连接字符串参考:

value="jdbc:mwdbc:oracle://DataSource=SPMS_MDS"/>,其中SPMS_MDS为配置数据源时输入的JNDI Name。

3.5 配置各WebLogic实例中的应用服务

3.5.1 PI3000应用服务的安装

PI3000应用服务包由以下9个目录组成,每个目录是一个Web应用:

 Portal,网站服务,是最终用户的访问平台的入口。

 ServiceBroker,代理服务,相当于平台其他服务的地址服务器,保存了所有业务服务的地址。

 BusinessModel,模型服务,核心服务。

 FileService,文件服务,提供文件管理功能。

 Message,消息服务,提供邮件、短信、站内消息等通信服务。

 Workflow,工作流服务,提供流程服务。

 Report,报表服务,提供报表服务。

 TaskDispatch,任务调度服务,提供后台、自动任务执行服务。

 Management,管理服务,用于配置、控制其他服务。

例如:现场有两台服务器,IP、端口分别为:10.144.100.56:8080,10.144.100.75:8080。在10.144.100.56机器上部署上述9个应用,而在10.144.100.75部署除“TaskDispatch”和“Management”之外的7个应用,如果 6 / 23

现场有第三台、第四台服务器,其部署和10.144.100.75相同。

对于Web应用在Weblogic上具体如何部署,取决于现场如何管理Weblogic。对于非Weblogci集群方式,每台服务器进行单独发布。对于Weblogic集群方式,通过Weblogic管理服务器进行统一的发布。

3.5.2 PI3000管理服务的配置

PI3000管理服务作为一个独立的Web应用,其程序部署在“3.5.1”章节已描述。本章节重点介绍如何通过管理服务配置其他的PI3000服务。

例如:PI3000系统部署两台服务器,IP、端口分别为:10.144.100.56:8080,10.144.100.75:8080,F5通过虚拟IP——10.144.100.88——对两台服务器进行负载均衡,DNS服务将10.144.100.88映射为。

许可证说明:默认管理服务不需要证书,但此时所有服务将运行在“试用”模式,对网站并发访问进行了限制。如果需要申请证书,必须完成配置后生成申请证书,导入平台开发部反馈的证书后,再通过管理服务重启所有服务,此时服务运行模式为正式模式。

3.5.2.1 添加所有的服务器节点

1、 添加数据库节点

在服务地图的DataSources区域添加一个数据连接描述。在DataSources区域右键,选择“编辑”—“添加数据源”。

7 / 23

此时提供了3.4章节介绍的直连方式和数据源方式,建议使用数据源方式连接数据库。

“下一步”设置数据源名等属性。

可以点击“测试数据源”对数据源名进行测试,检查数据源配置是否正确。测试通过后,“下一步”,再点击“完成”。

8 / 23

此时DataSources区域显示已配置的数据源。

提示:建议每步操作后,点击2、 添加AppServers节点

按钮,保存配置。

在AppServers区域右击,选择“编辑”——“添加服务器”

此时需要指定目标服务器的物理IP及端口,如10.144.100.56,8080,管理服务将通过这个IP和端口向目标服务发送配置及控制命令。

“下一步”选择此目标服务上已部署(在Weblogic服务中)PI3000服务。

9 / 23

此服务器上部署了全部的PI3000业务服务(包括TaskDispatch)。

“下一步”后,选择“完成”。此节点将显示在AppServers区域:

重复上述步骤添加另一个服务器节点(10.144.100.75:8080),注意这个节点中未部署TaskDispatch服务,如下图所示:

提示:点击按钮,保存配置。

为AppServers区域指定一个虚拟IP。在AppServers区域右击,选择“AppServer域的属性”,在“虚拟主机”标签页中设置虚拟地址,可以是IP或域名,本示例中设置为域名。

10 / 23

“确定”后返回主界面,在职AppServers区域标题区显示已配置的虚拟地址。

提示:点击按钮,保存配置。

3、 添加ServiceBrokerServers节点

添加ServiceBroker节点的过程类似AppServers的操作,但此时只能添加一种服务:

11 / 23

添加节点(10.144.100.56:8080、10.144.100.75:8080)并设置虚拟地址后界面如下。

提示:别忘了点击4、 添加WebServers节点

按钮,保存一下配置。

在WebServers添加所有部署了网站服务(Portal)的服务器节点。对于这个区域不需要设置虚拟主机(管理服务允许),因为用户可以通过F5等直接访问。

提示:大功告成,别忘了点击5、 PI3000缓冲同步设置

按钮,保存配置。

12 / 23

PI3000平台的代理服务(ServiceBroker)、基础模型服务(BusinessModel)、工作流服务、报表服务、消息服务、文件服务需要进行缓冲同步设置。

以ServiceBroker为例,具体配置方法如下。在管理服务地图上,选中MWServiceBroker节点,点击右键“配置MWServiceBroker服务”,出现如下图所示的界面,勾选模型缓冲集群,出现“集群”Tab页。点击“应用”按钮。即完成设置。

按上述方法,依次配置其它5个服务节点,基础模型服务、工作流服务、报表服务、消息服务、文件服务。

注:在非集群环境中,上述第五点,PI3000缓冲同步设置无需配置。

3.5.2.2 重启所有PI3000服务

重启所有PI3000服务。管理服务器在“服务地图管理器”界面中,选择首先停止所有服务器节点的PI3000服务,然后为每个服务推送最新生成的配置信息,然后依次重启动服务,网站服务最后被启动。

13 / 23

由于配置了虚拟地址,网站到其他所有服务地址及服务之间的互调用都将是虚拟地址构成的服务地址,如/MWBusinessModel/xmlrpc等。

3.5.2.3

监视服务状态

在“服务地址管理器”中,选中一个服务器节点的一个服务,在右边区域可以显示这个服务的运行状态及综合评分。

14 / 23

4 系统升级的操作步骤

建议现场升级时,先在测试环境升级测试,如发现问题及时和平台开发部联系。测试完成后再升级至正式环境。

4.1 备份现场环境

 备份现场数据库。

 备份PI3000平台程序包,包括现场定制程序。

4.2 获取PI3000平台程序包

PI3000平台的更新包下载地址ftp://221.226.15.47/PI3000 for Java,在该目录 15 / 23

下,下载文件PI3000FJ_2009****.rar、和。

文件说明:

 解压文件PI3000FJ_2009****.rar,有目录Bin、Database和增量升级工具。Bin为最新发布程序包,Database为数据库,增量升级工具为PI3000程序升级工具。

 解压文件,为发布说明文档。

 解压文件,为最新的系统管理员手册。

4.3 部署PI3000平台程序包

步骤一:停止WebLogic服务。

 即停止所有WebLogic服务实例。

步骤二:升级数据库及应用程序。

说明:被升级的程序目录通常为现场标准程序包目录,而不是平台在WebLogic中的最终部署目录。将标准程序包目录升级后再统一部署至各应用服务器节点。

 根据现场版本打数据库脚本补丁:可参考《PI3000 for Java 平台发布说明(最新更新时间2009****).doc》文档中“数据库更新说明”章节。

 用增量升级工具升级现场程序:可参考“Document02、系统管理员手册PI3000_UM_系统运行维护手册.doc”文档的“2.4.1 版本升级”章节。

 按照文档《PI3000 for Java 平台发布说明(最新更新时间2009****).doc》中的“相关配置修改”章节修改现场相关文件。

 按现场目录修改文件“”,并执行该文件,生成。并确和认“”文件中设置的“ode”为false。

 按现场集群部署方式发布PI3000平台程序包。若是WebLogic集群,可通过WebLogic管理服务进行部署;若无WebLogic集群,则需手工在各应用服务节点上升级程序。

16 / 23

步骤三:重启WebLogic服务。

 即重启所有WebLogic服务实例。

4.4 通过PI3000平台管理服务配置其它应用服务

 在管理服务中更新应用服务配置信息,重启应用服务。重启界面如下:

5 附录

5.1 WebLogic中的数据源配置

 首先选择Weblogic Console的“Domain Structure”(域结构),找到Services—JDBC—Data Sources。

17 / 23

 点击“Lock And Edit“,点击右侧列表的“New”。输入参数,选择数据库类型及合适的Database Driver。注意Name只是DataSource的显示名,JNDI Name才是连接串中用到的名字;Oracle数据库Database Driver选择Thin方式的。

 下一步界面中通常不选择“Supports Global Transactions”

 继续下一步:按要求填写数据库信息

18 / 23

 下一步,显示已输入的配置,并可做最后的修改

19 / 23

 点击“Finish”,完成配置,回到DataSource列表。可以选择“Activate Changes”(激活变更)以启动DataSource。

 一般默认配置可以满足需要。当预计并发比较高时,可以调整连接池的大小:

20 / 23

Initial Capacity为连接池初始连接个数。一般调整为最大值的1/3—1/2。

Maximum Capacity为连接池最大连接个数,一般把此值调大,具体值取决于所有服务需要最大连接个数和本机的并发用户数。

Capacity Increment为连接池每次新建连接个数,一般默认即可。

5.2 WebLogic中的多数据源配置

 在WebLogic里配置Multi DataSource首先需要参照“附录 WebLogic中的数据源配置”建立多个DataSource。

 打开配置界面,找到Services—JDBC—Multi Data Sources。

 点击“Lock & Edit”后,在右侧表格上选择“New”,为MDS命名。此时需要注意选择Algorithm Type为LoadBalancing(负载平衡)。

21 / 23

 将MDS配置到指定服务器

 在下一步可以采用默认值“Non-XA Driver”,最后添加目标DataSource。

22 / 23

 完成后点击“Activate Changes”。

23 / 23