# 致远协同管理软件集群部署手册
北京致远互联软件股份有限公司 2022年07月
前言
本手册对协同管理系统的集群部署相关事宜进行说明。如对手册存在疑问,可与致远互联的客户服务人员联系。
# 1 系统集群配置
# 1.1 概要说明
协同服务支持集群部署,集群模式下使用Redis进行缓存管理,配置集群前需先安装Redis服务。可使用标准产品提供的redis服务(安装见"Redis服务"章节),也可自行安装redis服务。
通过应用配置器或S1,进行协同服务的集群配置。集群部署结构有以下注意事项:
集群结构支持多节点、水平集群,不支持垂直集群(多节点部署在同一服务器);
集群环境,只需在主服务放置加密;
集群支持MySQL、Oracle、SQLServer数据库;
集群支持TomCat、WebSphere、Weblogic中间件(WebSphere、Weblogic的集群部署请参考其独立文档);
集群支持Apache、Nginx、F5等软硬件提供web负载均衡服务;
集群部署结构下,各应用版本要求如下
# 1.2 网络拓扑
集群部署的网络拓扑示意图如下:
# 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" address="127.0.0.1" secretRequired="true" secret="Seeyon8.0Tomcat8.5AJP1.3"
maxThreads="4096" minSpareThreads="100"
enableLookups="false" redirectPort="8443" acceptCount="1024"
connectionTimeout="20000" protocol="AJP/1.3"/>
将上面代码中的address修改为服务器实际的ip地址,例如:192.168.0.103。secret可选择修改。如secret修改,那么Apache的conf/workers.properties文件内也必须修改成一致内容,如下图:
- 注释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,如果是分离部署需要开放端口让协同服务可以访问。
# 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,如果是分离部署需要开放端口让协同服务可以访问。