# 致远协同管理软件集群部署手册

北京致远互联软件股份有限公司 2024年4月

# 前言

本手册对协同管理系统的集群部署相关事宜进行说明。如对手册存在疑问,可与致远互联的客户服务人员联系。.

# 1 系统集群配置

# 1.1 概要说明

协同服务支持集群部署,集群模式下使用Redis进行缓存管理,配置集群前需先安装Redis服务。可使用标准产品提供的redis服务(安装见"Redis服务"章节),也可自行安装redis服务。

通过应用配置器或S1,进行协同服务的集群配置。集群部署结构有以下注意事项:

  • 集群结构支持多节点、水平集群,不支持垂直集群(多节点部署在同一服务器);

  • 集群环境,只需在服务放置加密;

  • 集群支持MySQL、Oracle、SQLServer数据库;

  • 集群支持TomCat、WebSphere、Weblogic中间件(WebSphere、Weblogic的集群部署请参考其独立文档);

  • 集群支持Apache、Nginx、F5等软硬件提供web负载均衡服务;

  • 集群部署结构下,各应用版本要求如下

# 1.2 网络拓扑

集群部署的网络拓扑示意图如下:

网络拓扑图Cluster-V8.0SP2

# 1.3 集群配置

  • 集群配置主要有以下步骤:

  • 应用集群配置:

  • 主服务配置:主服务为集群环境中需放置加密、生成集群标识的服务。集群环境启动时,需先启动主服务才可启动从服务。

  • 从服务配置:从服务为集群环境中启动不需加密狗、集群标识采用主服务集群标识的服务。集群环境启动时,从服务的加密及部分配置信息读取主服务对应信息。

  • Web服务配置:

  • Web服务为集群环境中支持Web访问及承担负载均衡的服务。协同支持Apache、Nginx、F5(隶属F5 NetWorks公司的负载均衡设备)作为Web服务。依据实际情况,可以自由选择Web服务。关于web服务配置的注意事项,可参考web部署手册。

  • 集群配置及启动时需注意事项:

  • 主、从服务的操作系统时间要求相差不超过3秒。

  • 主、从服务的IP地址必须在相同网段,即IP地址前3段需一致。

  • 涉及目录的配置项,主、从服务该目录的物理存储位置必须一致。

包含以下目录(括号中为应用配置项名称):

公共资源目录(ctp.public.folder):影响portal、云联、cap等应用的使用

邮件保存目录(webmail.savePath):影响邮件应用的使用

Office转换文件目录(officeTarns.cache.folder):影响officetrans应用的使用

注:物理存储位置必须一致,值不一定相同。

  • 主、从服务的BUG补丁包及月度修复包版本必须一致(以主服务为准)。即更新补丁时需将集群中所有节点一并更新。

# 1.3.1 公共资源目录配置

集群环境下,公共资源配置会影响portal、云联、cap等应用的使用,请务必引起重视!!!

  • 公共资源目录配置主要有以下步骤:

  • 运行SeeyonConfig,在"系统参数设置"页签,选择"名称"项中"ctp.public.folder"选项

  • 双击"ctp.public.folder"选项,弹出框中设置公共资源目录。将"系统默认值"替换成"共享挂载目录"。

例如:主节点的Z: \data作为共享挂载目录,主从节点服务器"ctp.public.folder"选项都要替换成Z: \data。

# 1.4 静态化登录前门户配置

# 1.4.1 共享目录配置

集群部署时必须将Apachejetspeed\webapps\sportal目录主从节点进行相互共享,使得主从服务都能访问sportal下的静态文件和目录。可参考【1.3.1公共资源目录配置】挂载配置方法。

# 注意:

1、Apachejetspeed\webapps\sportal\archive目录是静态化文件的存储目录,所有静态化登录前门户的相关数据文件存放在这里,不能随意删除,否则会造成数据丢失和显示异常。

2、如果升级更新服务,建议升级前先将Apachejetspeed\webapps\sportal\archive目录进行备份,之后再做升级。

# 1.4.2 静态化登录前门户OBS配置

如果文件服务使用了obs对象存储,静态化登录前门户生成的静态资源也需要进行obs配置。

用文本编辑器打开ApacheJetspeed\webapps\sportal\WEB-INF\sportal.properties文件\

# 1.4.2.1将isRemote 属性改为true,开启obs模式。
# 1.4.2.2修改remoteFilePrefixPath属性的值,为OA系统的webapps文件夹全路径,需要以文件夹分隔符结尾
# 1.4.2.3修改remoteFilePath属性的值,为登录前门户静态资源存放的最上层文件夹名称。

示例:

# 2 应用集群配置

应用的集群配置在S1的协同配置,或协同服务的SeeyonConfig中进行。

# 2.1 主服务配置

主服务的配置,步骤如下:

  • 运行SeeyonConfig,在"服务器设置"页签,选择"服务器设置"项中"集群/双机"选项;

  • 勾选"集群/双机配置"项中"设置当前机器为主服务器",此时"集群/双机标识"项将自动生成集群标识(生成的标识需填写至集群其他从服务器节点);

  • 在"节点配置"项中,填写集群用到的所有节点IP地址,选择"当前节点"对应至当前服务器IP;

  • 配置Redis参数

Redis单机模式:

# 2.2 从服务配置

从服务的配置,步骤如下:

  • 运行SeeyonConfig,在"服务器设置"页签,选择"服务器配置"项中"集群/双机"选项;

  • 勾选"集群/双机配置"项中"设置当前机器为主服务器",

  • 在"集群/双机标识"项中填写主服务器生成的集群标识;

  • 在"节点配置"项中,填写集群用到的所有节点IP地址,选择"当前节点"对应至当前服务器IP;

  • 配置Redis参数

  • 在"系统参数设置"页签,配置webmail.savePath、officeTarns.cache.folder信息(需与主服务器对应目录的物理存储位置一致);

  • 进行SeeyonConfig其他配置;

集群其他从服务节点,可依次按照上述步骤进行配置。

  • 注:SeeyonConfig的"节点配置"中需填写集群用到的所有节点IP

# 2.3 Apache集群配置修改

使用Apache作为负载均衡,配置完SeeyonConfig之后,还需手动修改如下目录文件内容:

(主、从服务器都必须修改)

  • 修改ApacheJetspeed/conf/server.xml文件:取消截图注释,设置ip地址为集群节点实际ip,secret可自定义。并在Apache的conf/workers.properties中,设置server.xml中配置对应secret密码,例如:worker.SY103.secret=Seeyon8.0Tomcat8.5AJP1.3

Connector port="8951" maxPostSize="-1" maxThreads="4096" minSpareThreads="4" enableLookups="false" redirectPort="8443" acceptCount="1024" connectionTimeout="20000" protocol="AJP/1.3" />

将上面代码中的address修改为服务器实际的ip地址,例如:192.168.0.103。secret可选择修改。如secret修改,那么Apache的conf/workers.properties文件内也必须修改成一致内容,如下图:

C:\Users\ADMINI~1\AppData\Local\Temp\WeChatFiles\bbc2d238ce9d58356a1ee0bcf1a46bf.png

  • 注释ApacheJetspeed\webapps\seeyon\WEB-INF\web.xml中spring-session内容(主、从服务器都必须修改)。手动将web.xml内如下内容注释掉,增加**<!-- XXX -->** 注释符号。

<!--
<filter>
        <filter-name>spring-session</filter-name>
        <filter-class>org.springframework.session.web.http.CTPDelegatingFilterProxy</filter-class>
        <init-param>
            <param-name>targetBeanName</param-name>
            <param-value>springSessionRepositoryFilter</param-value>
        </init-param>
    </filter>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring.xml</param-value>
    </context-param>
    <filter-mapping>
        <filter-name>spring-session</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
</filter-mapping>
-->

将红色部分添加到相应位置后保存即可。

注意:修改完成后,停止集群主从节点所有协同服务,启动主节点协同服务,成功以后启动从节点协同服务。

启停服务参考产品安装维护手册服务启停章节操作,或者使用致远服务S1启停。

# 3 Redis服务

# 3.1 概要说明

Redis服务用于协同集群部署模式时的缓存存放。可以采用标准产品提供的redis安装程序进行安装,亦可采用已有的redis服务,要求版本为5以上。

以下章节说明标准产品提供的redis安装程序的安装配置。标准产品提供的redis仅支持Linux系统。

# 3.2 安装配置

# 3.2.1 系统配置

Linux系统需要调整最大进程数和最大文件打开数。执行ulimit -a命令查看open files以及max user processes属性的值,如果已经调整为65535或者更高的值,以下操作无须执行。调整配置举例:修改/etc/security/limits.conf文件,在文件末尾添加如下内容


* soft nofile 204800
* hard nofile 204800
* soft nproc 204800
* hard nproc 204800

打开新的终端执行ulimit -a命令验证是否调整成功(查询值为204800视为成功)。

# 3.2.2 安装

  • 在产品独立服务安装程序目录下,执行./SeeyonRedisInstall.sh运行安装程序;

  • 开始安装,选择安装路径,如:/home/redis,依次点击下一步,完成安装;

# 3.2.3 配置

修改安装后目录的redis.conf,主要调整以下内容:

# 增加参数requirepass,设置redis的连接密码,密码为明文设置
requirepass 密码

# 调整redis的访问ip地址,将bind 127.0.0.1调整为实际ip
bind 实际ip

# 调整redis的端口(视情况定是否调整),需同步调整协同中配置的redis端口
port 6379

# 关闭 Redis RDB 持久化,注释以下四行
# save 900 1
# save 300 10
# save 60 10000
# dbfilename dump.rdb

# 4 Linux系统(含信创)无图形化配置V5集群

# 4.1 缓存服务Redis配置

# 4.1.1 单台Redis缓存服务

编辑或者新建base/conf/plugin.properties配置文件,V5集群各个节点都需要执行此操作

redis.enabled = 1

redis.host = 10.3.4.11

redis.port = 6379

redis.password = /2.4/W4sIjUIBoWYH7Jx+adzAfA==

redis.db = 15

其中,

第1行标记部分1为redis单点模式

第2行标记部分10.3.4.11为redis服务ip

第3行标记部分6379为redis服务端口

第4行标记部分/2.4/W4sIjUIBoWYH7Jx+adzAfA==为redis服务密码,客户配置实际密码需要在本地测试环境图形化界面保存以后,复制测试环境此加密串

第5行标记部分15为redis使用的数据库编号,默认15

# 4.1.2 多台Redis缓存服务,三主三从配置

编辑或者新建base/conf/plugin.properties配置文件,V5集群各个节点都需要执行此操作


redis.enabled = 2

redis.cluster.address1 = 10.3.4.11:6379

redis.cluster.address2 = 10.3.4.11:6380

redis.cluster.address3 = 10.3.4.12:6379

redis.cluster.address4 = 10.3.4.12:6380

redis.cluster.address5 = 10.3.4.13:6379

redis.cluster.address6 = 10.3.4.13:6380

redis.cluster.password = /2.4/W4sIjUIBoWYH7Jx+adzAfA==

其中,

第1行标记部分2为redis集群模式,redis服务存在多台,我们支持三主三从

第2行至第7行标记部分10.3.4.11:6379 ~ 10.3.4.13:6380为redis集群各个节点服务地址以及端口

第8行标记部分/2.4/W4sIjUIBoWYH7Jx+adzAfA==为redis集群服务密码,客户配置实际密码需要在本地测试环境图形化界面保存以后,复制测试环境此加密串

# 4.1.3 注意事项

3.1、单台redis或者多台redis配置,只能二选一,配置文件里的内容不能混合存在。如果开始配置plugin.properties文件之前其中已存在redis开头的配置项,备份文件删除这些配置项以后再添加。

3.2、V5集群各个节点都需要配置redis,并且各节点配置内容需要一致

# 4.2 集群主节点

# 4.2.1 编辑或者新建base/conf/cluster.properties配置文件

cluster.localhost=10.3.4.239

cluster.main=true

cluster.port=80

cluster.name=733F9922-BB54-4281-B22E-247977CD8F95

cluster.hosts=10.3.4.239,10.3.4.240

cluster.host.index=239

cluster.enabled=true

其中,

第1行标记部分10.3.4.239为集群主节点本地ip

第2行标记部分集群主节点为true,从节点此处配置为false

第3行标记部分80为协同访问端口,需要与ApacheJetspeed/conf/server.xml中配置的访问端口一致

第4行标记部分733F9922-BB54-4281-B22E-247977CD8F95为集群名称,可以自定义一个字符串,比如seeyon-v8x-cluster,内网中保持唯一就行,主从节点此配置保持一致

第5行标记部分10.3.4.239,10.3.4.240为集群所有节点本地ip,以上举例为集群存在2个节点,主为10.3.4.239,从为10.3.4.240,英语录入状态的逗号将它们隔开,主从节点此配置保持一致

第6行标记部分239为集群当前节点编号,默认以当前节点本地ip最后一位数字,注意集群中所有节点此编号需要不同

# 4.2.2 编辑或者新建base/conf/systemCtp.properties配置文件

公共资源目录,集群环境需要指定,并进行目录共享

系统默认值:${ctp.base.folder}/resources

集群主、从节点该目录的物理存储位置必须一致,影响portal、云联、cap等应用的使用

ctp.public.folder = ${ctp.base.folder}/resources

其中标记部分${ctp.base.folder}/resources可以为集群主从节点附件挂载目录下resources。例如:主、从节点的Z: /data作为共享挂载目录,主、从节点服务器"ctp.public.folder"选项都要替换成Z: /data/resources。

# 4.2.3 编辑ApacheJetspeed/conf/server.xml(tomcat中间件才需要执行此编辑操作)

<Engine name="Catalina" defaultHost="localhost"\>

修改为

<Engine name="Catalina" defaultHost="localhost"
jvmRoute="SY239"\>

SY239,239为第1步配置文件里集群主节点当前节点编号

# 4.2.4 编辑或者新建base/conf/systemCtp.properties配置文件,配置邮件保存目录以及aspose转换服务

如果需要设置邮件保存目录,编辑V5集群各个节点base\conf\systemCtp.properties配置文件增加:

webmail.savePath = ${ctp.base.folder}/webmail

# ${ctp.base.folder}/webmail 修改为V5集群附件挂载目录下邮件保存专用文件夹

分离部署OfficeTrans转换服务,编辑V5集群各个节点base\conf\systemCtp.properties配置文件增加:

officeTrans.cache.folder = ${ctp.base.folder}/officetrans

# ${ctp.base.folder}/officetrans 修改为V5集群挂载目录下转换文件专用文件夹

officeTrans.file.maxSize = 5120

# 允许转换的文件大小,单位为KB,默认5M

officeTrans.retainDay = 30

# 转换的文件保留天数,30天,设置为0则永不清理

officeTrans.rmi.host = 10.3.4.11

# 转换服务的ip地址10.3.4.11

officeTrans.rmi.port = 1097

# 转换服务的端口,默认1097;默认端口情况下1097、1098端口需要针对V5服务器放开

officeTrans.type = aspose

# 文件转换类型aspose

OfficeTrans目录下startup.sh脚本中,127.0.0.1需要修改为转换服务本地IP地址。

JVM属性设置,其中-Djava.rmi.server.hostname=127.0.0.1配置里的ip地址需要改成转换服务器内网ip,默认端口1097和1098,如果是分离部署需要开放端口让协同服务可以访问。

a1b06958084ab382d28a93a88f42d05

3ec58c6134f1b703b13b37e67c9f648

# 4.3 集群从节点,推荐复制主节点配置文件再修改差异处

# 4.3.1 编辑或者新建base/conf/cluster.properties配置文件
cluster.localhost=10.3.4.240

cluster.main=false

cluster.port=80

cluster.name=733F9922-BB54-4281-B22E-247977CD8F95

cluster.hosts=10.3.4.239,10.3.4.240

cluster.host.index=240

cluster.enabled=true

其中,

第1行标记部分10.3.4.240为集群从节点本地ip

第2行标记部分集群从节点为false

第3行标记部分80为协同访问端口,需要与ApacheJetspeed/conf/server.xml中配置的访问端口一致

第4行标记部分733F9922-BB54-4281-B22E-247977CD8F95为集群名称,可以自定义一个字符串,比如seeyon-v8x-cluster,内网中保持唯一就行,主从节点此配置保持一致

第5行标记部分10.3.4.239,10.3.4.240为集群所有节点本地ip,以上举例为集群存在2个节点,主为10.3.4.239,从为10.3.4.240,英语录入状态的逗号将它们隔开,主从节点此配置保持一致

第6行标记部分240为集群当前节点编号,默认以当前节点本地ip最后一位数字,注意集群中所有节点此编号需要不同

# 编辑或者新建base/conf/systemCtp.properties配置文件

公共资源目录,集群环境需要指定,并进行目录共享

系统默认值:${ctp.base.folder}/resources

集群主、从节点该目录的物理存储位置必须一致,影响portal、云联、cap等应用的使用

ctp.public.folder = \${ctp.base.folder}/resources

其中标记部分${ctp.base.folder}/resources可以为集群主从节点附件挂载目录下resources。例如:主、从节点的Z: /data作为共享挂载目录,主、从节点服务器"ctp.public.folder"选项都要替换成Z: /data/resources。

# 4.3.3 编辑ApacheJetspeed/conf/server.xml(tomcat中间件才需要执行此编辑操作)


<Engine name="Catalina" defaultHost="localhost"\>

修改为

<Engine name="Catalina" defaultHost="localhost"
jvmRoute="SY240"\>

SY240,240为第1步配置文件里集群从节点当前节点编号

# 4.3.4 编辑或者新建base/conf/systemCtp.properties配置文件,配置邮件保存目录以及aspose转换服务

如果需要设置邮件保存目录,编辑V5集群各个节点base\conf\systemCtp.properties配置文件增加:

webmail.savePath = ${ctp.base.folder}/webmail

# ${ctp.base.folder}/webmail 修改为V5集群附件挂载目录下邮件保存专用文件夹

分离部署OfficeTrans转换服务,编辑V5集群各个节点base\conf\systemCtp.properties配置文件增加:

officeTrans.cache.folder = ${ctp.base.folder}/officetrans

# ${ctp.base.folder}/officetrans 修改为V5集群挂载目录下转换文件专用文件夹

officeTrans.file.maxSize = 5120

# 允许转换的文件大小,单位为KB,默认5M

officeTrans.retainDay = 30

# 转换的文件保留天数,30天,设置为0则永不清理

officeTrans.rmi.host = 10.3.4.11

# 转换服务的ip地址10.3.4.11

officeTrans.rmi.port = 1097

# 转换服务的端口,默认1097;默认端口情况下1097、1098端口需要针对V5服务器放开

officeTrans.type = aspose

# 文件转换类型aspose

OfficeTrans目录下startup.sh脚本中,127.0.0.1需要修改为转换服务本地IP地址。

JVM属性设置,其中-Djava.rmi.server.hostname=127.0.0.1配置里的ip地址需要改成转换服务器内网ip,默认端口1097和1098,如果是分离部署需要开放端口让协同服务可以访问。

a1b06958084ab382d28a93a88f42d05

3ec58c6134f1b703b13b37e67c9f648

创建人:zhangshuang
修改人:zhengkejie、zhangshuang

快速跳转