# 宝兰德BES955中间件部署协同OA案例
# 环境准备
本案例安装环境(所有信创或非信创Linux环境命令均雷同,项目上都可以参考本案例):
- CPU:AMD X86_64
- 操作系统:Ubuntu 24.04 LTS
- 宝兰德安装包:集群版介质(企业版)/redhat+intel(非国产环境)/BES-AppServer-Enterprise-9.5.5.6210-RHEL6-X64.tar.gz
- 协同OA版本:A8-N V9.0SP1 B240930
安装部署过程全部以root管理员身份运行sudo -i
。
安装部署前,先确保当前系统已经安装了最基础的命令,可执行如下语句做预装:
# 使用yum命令安装,如当前系统提示yum不可用,则使用apt
yum install tar curl telnet vim -y
# 基于Debian的系统(如Ubuntu)使用apt预装组件
sudo apt update
sudo apt install tar curl telnet vim -y
安装部署过程中几个关键注意事项:
1、尽量使用宝兰德多实例版本(企业版),只有此版本才能用信创部署工具安装
2、宝兰德管理控制台提供了默认的帐号密码,其中密码千万不要修改,保持系统默认,信创部署工具是根据默认密码进行的部署
# 一、部署维护宝兰德(必做)
# 准备JDK8和JAVA_HOME环境变量
首先检查当前系统是否有java8环境:
# 操作系统下执行如下命令,如果提示Command 'java' not found则表示未部署jdk8
java -version
如果当前环境没有java运行环境,则先自行准备openjdk8,将jdk放置在/usr/lib/jvm目录下,openjdk目录下需要有bin/java文件。
非信创Linux环境,可以直接使用协同OA安装包SeeyonInstall/java/jdk64。
如果是信创环境则联系信创操作系统厂商提供一个较新的openjdk8(推荐OPENJDK_1.8.0_372_B07,其它JDK8小版本也行,不要太低)。
放置到操作系统下,需要先给JDK授权可读写权限chmod -R +x /usr/lib/jvm/openjdk8
,这一步操作千万别遗漏!!!
然后,配置JAVA_HOME、PATH、CLASSPATH环境变量:
# 通过vi或vim命令修改/etc/profile,设置系统范围的环境变量
vim /etc/profile
# 在vi或vim编辑模式下,将以下四行命令放置到profile文件里,随后通过vi或vim标准方法保存
JAVA_HOME=/usr/lib/jvm/openjdk8/
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
# 重新加载/etc/profile文件,使更改立即生效
source /etc/profile
以上完成后,通过如下命令检查是否有结果输出,没有则检查配置和jdk是否正确 java -version
:
宝兰德手册是在用户下创建环境变量,这个方式也可以,项目运维根据实际情况判断。
# 部署启动中间件(必做)
# 下载中间件安装包
联系宝兰德获取安装包地址,宝兰德中间件主要使用集群版介质或单实例介质,使用较多的是集群版(本案例以集群版为主):
集群版下按照不同的CPU和操作系统组合提供了对应的安装包,项目上根据实际情况选择。
所有X86非信创芯片+非信创Linux均使用redhat+intel,如安装部署存在问题,可联系宝兰德技术
# 创建中间件目录
参考宝兰德手册,先创建一个中间件的空目录,本案例将中间件放置到/data/BES955/AdminServer
# 创建一个中间件的空目录
mkdir -p /data/BES955/AdminServer
# 上传中间件安装包
# 将中间件安装介质xxx.tar.gz上传到系统中
# 找到放置中间件介质的目录,使用如下命令解压文件到中间件下(注:不同环境的tar.gz介质名称不同,根据情况自行做调整)
tar -zxvf BES-AppServer-Enterprise-9.5.5.6210-RHEL6-X64.tar.gz -C /data/BES955/AdminServer/
# 初始化中间件
# 到中间件bin目录下
cd /data/BES955/AdminServer/bin
# 执行初始化操作
./initstore
初始化操作完成后,启动中间件管理控制台
# 继续保持在bin目录,执行./startManagement命令启动管理控制台
./startManagement
# 随后根据提示,查看启动的server.log日志
tail -f /data/BES955/AdminServer/logs/server.log
查看日志,出现Started compress log service则表示启动成功。
# 访问中间件控制台(必做)
执行命令netstat -ntlp
,检查中间件控制台端口是否启动,BES955控制台默认占用6900端口:
通过浏览器访问中间件管理控制台,默认访问页面信息如下:
访问链接:http://IP:6900/console
登录用户:admin
登录密码:B#2008_2108#es
在完成OA启动前,密码千万不要修改,保持系统默认,信创部署工具会使用此密码!
首次登录,若有提示修改密码,密码千万不要修改,在完成OA部署启动前,保持系统默认,信创部署工具会使用此密码!
首次登录,若有提示修改密码,密码千万不要修改,在完成OA部署启动前,保持系统默认,信创部署工具会使用此密码!
首次登录,若有提示修改密码,密码千万不要修改,在完成OA部署启动前,保持系统默认,信创部署工具会使用此密码!
待部署或升级成功后,再进入到个人信息中进行密码修改
登录系统后,右上角能看到默认试用期限185天,试用期内可以免费测试部署
# 初次部署不建议打中间件补丁
初始化宝兰德后,不建议立刻打中间件补丁,建议先做OA的部署及验证,确保能部署成功、启动成功!
我们遇到了多个项目,打了宝兰德全部补丁包,结果出现数据库无法连接、连接后无法启动、启动过程中类冲突的问题!
所以,请先在最原始安装程序环境下,做OA部署、启动测试,如果能部署、能启动、能访问,则说明我们产品是没问题的。后续打宝兰德补丁出了问题,由宝兰德技术做下支持!
# 二、创建主机节点和实例(必做)
宝兰德中间件安装完成,登录控制台后,需要先给协同OA创建一个主机和实例。本章节操作均在宝兰德中间件控制台下进行,访问地址参考“访问中间件控制台”章节。
# 新增主机
选择菜单“主机管理”-“添加”:
名称:可自定义,如seeyon,宝兰德建议以主机IP或主机名命名
主机名IP:填写宝兰德服务的真实IP地址(请勿填写127.0.0.1)
用户名与密码:填写登录服务器的用户及密码,宝兰德会使用SSH登录。
登录所用的用户名需要具备足够的读写权限,否则可能导致后续配置失败。
在主机列表,点击主机名称可以回到编辑页面,点击Ping可以测试是否能连通服务器。Ping不通的情况,请检查配置,确保Ping通再进行后续操作。
# 节点管理
# 新建节点
主机添加完成后,可进行节点配置,点击左侧“节点管理”,进入节点列表界面,可新建节点:
节点名称:可自定义,如seeyon_node1
管理端口:默认是3100,如果已被占用,可填写其他可用端口
节点目录:必须指定宝兰德中间件目录下(与bin目录同级),命名为node
JAVA_HOME:可不填写,在前面部署宝兰德时已经部署了JDK8并配置了JAVA_HOME
其它信息:保持默认
# 启动节点
新建节点完成后,即可启动,由宝兰德自动创建节点并启动:
BES老版本有“安装节点”动作,BES955版本没有此按钮,直接“启动”,启动过程自动安装。
启动完成后,访问宝兰德服务器,能看到node目录自动创建成功:
# 创建集群(此步可跳过)
本例采用独立实例,不使用集群,故本步可跳过。
# 实例管理
# 新建实例
以上步骤完成后,点击左侧“实例管理”,进入实例列表界面,点击“新建”,填写实例信息。
实例名称:自定义,如seeyon_a
实例类型:选择“独立实例”,如果使用集群实例,需要参考宝兰德手册先创建集群
其它信息:保持默认
# 启动实例
新建实例完成后,勾选刚新建的实例,点击“启动”。 实例需要处于启动创建,才能做后续的OA部署操作!
如提示启动失败,需要到实例目录下查看log日志:
# JVM、连接等配置现在均可不做(工具生成)
宝兰德手册中提及的JVM、线程池、数据库配置到本步均可以忽略先不做,下一步先使用致远的信创部署工具做安装部署,其中很多配置会自动完成,无需手工调整。
# 三、数据库准备(必须)
安装部署OA前,必须先准备好数据库,建一个OA需要的空库!
项目上先确认使用什么数据库,不同数据库在接下来的安装部署过程方法是不一样的,此步务必确认!
一般数据库维护都是数据库厂商承接,部署过程中务必提前告知数据库厂商一些规则要求,比如:我们要求不区分数据库大小写,MySQL等要求使用UTF-8格式。
A8-N 9.0SP1标准支持的数据库(其它版本自行确认) | 部署方法 |
---|---|
标准支持的数据库(达梦8、人大金仓V8/R3/R6、神舟通用7、南大通用致远专版、MySQL5.7/8.0、Oracle10g-19c、SQLServer2008-2019) | 新部署客户先准备好数据库,(拿到数据库URL、帐号、密码)然后初始化一个空库给OA,最后使用信创部署工具选择对应数据库产品自动安装初始化脚本 |
非标准支持的数据库(如高斯DB、海量、瀚高、虚谷、OceanBase、GoldenDB、亚信等) | 新部署客户先准备好数据库,随后信创工具部署OA(数据库选不初始化),部署OA之后,(拿到数据库URL、帐号、密码)再按照操作手册将数据库初始化脚本手动导入非标支持的数据库中 |
# 四、信创部署OA(安装场景)
本章节是安装场景,适用于:初次使用宝兰德中间件,初次需要在中间件下部署OA的场景。
# 下载OA信创部署包
通过致远商务公布的程序下载地址,取对应版本的OA部署包,由于是宝兰德信创中间件部署OA,所以需要使用名为xxx_XinChuang.zip的信创类部署包,如下图所示:
# 上传OA信创部署包至服务器
将上一步下载的XinChuang.zip部署包上传至宝兰德中间件服务器,并执行解压zip包
本案例是将zip包上传至/data目录,再使用unzip 2.V9.0SP1_XinChuang.zip
解压:
解压后的XinChuang目录结构如下:
# 确定OA部署方案
OA信创部署工具支持图形界面和静默两种方式,两种方式二选一即可,不用两个都执行。如果有图形化界面,建议优先使用图形界面方式。
方案一:图形界面使用命名含GUI的deployGUI-for-版本号-产品线.sh
程序启动。
方案二:服务器没有图形化页面,则使用命令行,命令行静默方式使用命名含cli的deploycli-for-版本号-产品线.sh
程序启动。
部署方案 | 适用场景 | 执行程序 |
---|---|---|
图形化部署GUI | 适用于服务器操作系统下有图形化页面场景 | deploytools/deployGUI-for-9.0SP1-A8N.sh或deploytools/deployGUI-for-9.0SP1-G6N.sh |
命令行部署cli | 适用于服务器操作系统下无图形化页面场景 | deploytools/deploycli-for-9.0SP1-A8N.sh或deploytools/deploycli-for-9.0SP1-G6N.sh |
# 图形化安装OA(方案一)
如确定可以图形化部署,则通过图形化页面访问到系统中XinChuang/deploytools部署目录下
# 到XinChuang部署目录deploytools
cd /data/2.V9.0SP1_XinChuang/deploytools
# 先赋予可执行权限
chmod +x deployGUI-for-V9.0SP1-A8N.sh
# 再启动GUI可执行程序
./deployGUI-for-V9.0SP1-A8N.sh
全新部署OA场景选择“安装”按钮
CPU:目前支持ARM、MIPS、x86三类,根据当前系统实际情况选择
系统:只有CPU类型为ARM时,需要选择系统类型:统信uos、麒麟kylin,根据当前系统实际情况选择
中间件:选择宝兰德bes中间件
中间件路径:宝兰德必须选择到实例目录!怎么找实例目录?通过登录宝兰德管理控制台-实例菜单获取实例目录地址,并且要确保实例处于启动状态(如未启动,参考“控制台日常维护”章节启动实例)
协同路径:可自定义,比如/Seeyon/A8
,没有此目录的话,需要到服务器上创建好目录mkdir -p /Seeyon/A8
,否则部署会报错。
协同产品线:-N企业版、-N集团版(根据客户部署产品线进行选择)
在线人数:小于500, 500-1000, 1000-2000,选择正确的区间,工具会配置对应的JVM参数,不在范围内的在线人数则先选择最大的,后面再调整JVM
数据库:标准支持人大金仓、达梦、神通、南大通用Gbase、MySQL、Oracle、SQLServer;其它数据库则选择“不初始化数据库”,这类“不初始化数据库”场景,在工具部署完成后,需要手动初始化数据库
JDBCDriver:根据选择的数据库自动生成,无需修改
JDBC URL:需要修改IP、端口、库名(数据库需要提前创建,见前面章节说明)
数据库用户、密码:根据实际情况填写
正常等待部署结束,提示成功后,关闭部署工具,不要二次点部署。
# 部署完成后重启实例
部署完成后,回到宝兰德控制台实例菜单,需要重启下实例,才能让刚才部署的配置生效:
# 查看部署日志
信创工具部署日志存放于信创安装包/deploytools/logs下,找修改日期最新的那个log文件:
# 命令行安装OA(方案二)
命令行部署,又叫静默部署,是在服务器没有图形化界面的时候使用。
# 修改installConfig.properties
首先是修改参数文件,通过修改信创部署目录XinChuang/deploytools/cfgHome/installConfig.properties配置文件,做参数的初始化配置:
# 到XinChuang部署目录deploytools/cfgHome
cd /data/2.V9.0SP1_XinChuang/deploytools/cfgHome/
# 修改installConfig.properties文件参数
vim installConfig.properties
installConfig.properties配置文件中的参数与图形化部署界面一模一样,这里面的参数直接参考“图形化部署”章节、参考“图形化部署”章节、参考“图形化部署”章节!
再次提醒:请不要凭感觉填写配置,认真参考“图形化部署”章节,熟悉每一个配置和注意事项后再操作!
以下图所示,本例采用的的主要部署思路如下:
1、dbType数据库类型录入Others
,本次不初始化数据库,部署后,人工调整JDBC,连接产品未支持的一种数据库
2、v5path协同路径与图形化一样,配置到/Seeyon/A8
,如果此目录不存在,需要到服务器上创建好目录mkdir -p /Seeyon/A8
,否则部署会报错
3、appServerPath选择中间件部署路径,宝兰德路径是要到具体的实例,获取实例路径参考“图形化部署”章节的说明,或本文全局搜索
# 修改deploycli脚本
修改installConfig.properties并保存之后,找到我们本次要命令行启动执行的sh脚本文件,修改一点配置
# 到XinChuang部署目录deploytools
cd /data/2.V9.0SP1_XinChuang/deploytools
# 修改命令行启动脚本文件(不同产品线所使用脚本名不同,根据实际情况调整)
vim deploycli-for-V9.0SP1-A8N.sh
修改sh脚本文件里末尾的参数,将默认的upgrade
(更新升级)改为install
(安装部署):
# 执行命令行部署sh脚本
先赋予可执行权限,再执行sh脚本:
# 到XinChuang部署目录deploytools
cd /data/2.V9.0SP1_XinChuang/deploytools
# 先赋予可执行权限
chmod +x deploycli-for-V9.0SP1-A8N.sh
# 再启动GUI可执行程序
./deploycli-for-V9.0SP1-A8N.sh
如执行sh后,提示中间件路径不对,需要确保宝兰德实例处于启动状态:
如一切正常,安装程序会提示一个确认操作,录入Y
随后敲击回车即可继续:
执行命令行静默安装过程,能很方便看到日志进度,安装解压部署需要时间,请耐心等待。
看到“安装完成”提示才算结束,结束后根据提示分析是否报错。由于本例数据库选择Others,不安装数据库脚本,故本次错误可以忽略:
工具部署结束后,通过宝兰德控制台-实例管理菜单,强制停止实例,再启动一下实例,确保全部配置生效:
# 五、实例配置检查和修改(必做)
在通过信创工具部署之后,接着就是检查部署后的配置,如存在则忽略,如配置不存在则手动添加。
# 检查实例下的系统属性
注:如果使用信创部署工具部署之后,发现JVM配置还是不生效,首先怀疑“是不是宝兰德管理控制台的密码被自定义修改过”,信创工具只能用出厂自带的管理员密码进行部署。
实例管理菜单-点击实例名称,进入配置页面,第一个页面“系统属性”需要如下两个属性,信创部署工具会自动配置,如手工部署需要添加如下属性:
名称 | 值 |
---|---|
com.bes.enterprise.web.util.scan.StandardJarScanFilter.jarsToSkip-test | * |
com.bes.enterprise.web.compiler.ignoreHtmlComment | false |
# 检查修改JVM配置
实例信息切到JVM配置,按如下调整检查调整:
堆最大值和堆最小值保持一致,避免出现堆内存动态波动,根据不同在线人数需要配置不同的大小,单位M
堆最大值和堆最小值通俗说就是OA占用的内存,内存占用不能超过当前操作系统总内存的75%!
在线人数 | 堆内存配置参考 |
---|---|
<200 | 堆最小和堆最大12288M |
200-500 | 堆最小和堆最大24576M |
500-1000 | 堆最小和堆最大32768M |
1000-2000 | 堆最小和堆最大49152M |
2000-3000 | 堆最小和堆最大65536M |
元空间最大值和初始值保持一致,均设置为2048,单位M
垃圾回收算法,必须选择G1GC,必须选择G1GC,必须选择G1GC
如果通过工具部署,只需检查参数是否存在,不存在就必须添加或修改。
以上完成后,修改页面下方的“JVM选项”(如果通过工具部署,只需检查参数是否存在,不存在才添加):
增加参数:-Djava.awt.headless,值为true。注:此参数如果发现可视化页面不存在,可以尝试再手工配置一次,如果配置之后还是不显示则可以忽略本参数的配置(中间件可能默认内置了)。
增加参数:-XX:ReservedCodeCacheSize,值为1G。
增加参数:-XX:GCLogFileSize=10m
增加参数:-XX:NumberOfGCLogFiles=8
增加参数:-XX:+UseGCLogFileRotation
增加参数:-XX:+PrintGCDetails
增加参数:-XX:+PrintGCTimeStamps
增加参数:-XX:+PrintGCDateStamps
增加参数:-Xloggc:/seeyon/V5/ApacheJetspeed/logs (此处目录需要替换为当前环境的部署目录,并且若logs不存在,需要手动创建)
增加参数:-Dsun.zip.disableMemoryMapping=true
增加参数:jdbcproxydriver.driverclass,值则根据当前JDBC数据库对应,用什么数据库就赋什么值,其它数据库则联系数据库厂商获取JDBC驱动类名
- 达梦 dm.jdbc.driver.DmDriver
- 人大金仓 com.kingbase8.Driver
- 神通 com.oscar.Driver
- MySQL com.mysql.jdbc.Driver
- Oracle oracle.jdbc.driver.OracleDriver
- SQLServer com.microsoft.sqlserver.jdbc.SQLServerDriver
- 南大通用 Gbase com.gbasedbt.jdbc.Driver
注:本地实测-Djava.awt.headless=true配置后无效果,可以联系宝兰德技术核实情况
# 检查default-web.xml配置
以上完成后,先启动一下实例,以便让配置生效,再强制停止实例,继续后续操作。
以上完成后,vim命令检查宝兰德实例目录下的配置文件default-web.xml,(命令参考vim /data/BES955/AdminServer/node/seeyon_node1/instances/seeyon_a/conf/default-web.xml
)
检查<servlet></servle>
标签内是否有如下配置,如果没有,将如下XML配置拷贝到标签内。一般使用信创工具部署都会包含此配置,做简单检查即可到下一步:
<init-param>
<param-name>trimSpaces</param-name>
<param-value>false</param-value>
</init-param>
# 拷贝jar包(如信创工具部署可忽略本步)
如信创工具部署,可忽略本步,工具会自动完成。只有那种无法执行可执行程序的专用机环境才需要手工部署,如手工部署配置,则必须执行本步。
首先,进入到XinChuang信创安装包,按本手册操作,安装包位置在cd /data/2.V9.0SP1_XinChuang/V5
,V5目录下解压ApacheJetspeed.7z:
apt update
apt install p7zip-full
7z x ApacheJetspeed.7z
然后进入ApacheJetspeed目录,按本手册操作,包位置在cd /data/2.V9.0SP1_XinChuang/V5/ApacheJetspeed
:
将XinChuang/V5/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/下log4j-api.jar、log4j-core.jar、log4j-1.2-api.jar、log4j-jcl.jar、seeyon-ctp-jdbcproxydriver.jar、druid.jar、jmx_prometheus_javaagent.jar 剪切 到实例的/lib/目录下。(注意命令是mv)
将XinChuang/V5/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/下commons-logging.jar、seeyon-ctp-dbpool.jar、seeyon-ctp-log-log4j.jar、disruptor.jar、woodstox-core-asl.jar、stax2-api.jar、stax-api.jar、guava.jar、sqlite-jdbc.jar、websocket-api.jar复制到实例的/lib/目录下(注意命令是cp)
将/data/Seeyon/A8N/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/下的xalan.jar serializer 剪切到到宝兰德 /data/BES/lib/endorsed下
如果XinChuang/V5/ApacheJetspeed/webapps/seeyon/WEB-INF/lib下没有某个jar,就到XinChuang/V5/ApacheJetspeed/lib目录下拷贝这个jar过去,一定要拷贝,不要漏任何一个jar、不要漏任何一个jar、不要漏任何一个jar!!!
确保删除XinChuang/V5/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/seeyon-ctp-jdbcproxydriver.jar这个文件,这个必须删除!!!
拷贝对应数据库驱动文件到实例的lib目录:
达梦数据库: cp DmJdbcDriver18.jar /data/BES955/AdminServer/node/seeyon_node1/instances/seeyon_a/lib/
人大金仓数据库(注意区分R3和R6版本驱动,使用对应数据库版本驱动): cp kingbase8-8.6.0.jar /data/BES955/AdminServer/node/seeyon_node1/instances/seeyon_a/lib/
注意:若数据库非mysql、Oracle、SQLserver、达梦、神通、人大金仓、南大通用、数据库驱动需要手动拷贝。
下图是通过信创部署工具-命令行部署时的执行进度,可以看工具自动完成了以上繁琐的jar拷贝操作:
# 检查线程池管理
1、宝兰德控制台,进入当前实例,再访问菜单-Web容器-线程池-检查名为“http-thread-pool”的线程池配置:
最大线程大小:修改为4096。如果使用信创工具部署后发现此配置已调整,则本步可忽略。
2、继续在当前实例,再访问菜单-Web容器-HTTP监听器-检查名为“http-listener-1”的监听器配置:
HTTP属性配置,找到最大POST大小,将其改成-1,不限制长度:
# 以上全部完成后重启下实例
以上全部配置完成后,强制停止实例,再启动一下实例,确保全部配置生效。
# 六、JDBC数据源管理(必做)
以上步骤完成后,进行JDBC数据源管理,检查调整数据库连接配置。
# 1、检查jdbc/ctpDataSource是否存在
访问宝兰德管理控制台-资源管理-JDBC-单数据源管理:检查是否存在“jdbc/ctpDataSource”的数据库连接?
- 如果存在jdbc/ctpDataSource选项,则是OA标准支持的数据库,通过前面信创部署工具自动部署初始化的,只需要进入选项,Ping检查下连接配置即可进行后续的数据源调优配置
- 如果不存在jdbc/ctpDataSource选项,则表示当前数据源要自己手动配置,手动初始化OA数据库脚本
# 1-1、存在jdbc/ctpDataSource场景
如果存在jdbc/ctpDataSource选项,则进入选项,Ping检查下连接配置,如果连接正常,则进行后续章节操作。
# 1-2、不存在jdbc/ctpDataSource场景
不存在jdbc/ctpDataSource场景,则表示未使用信创部署工具初始化数据库,这类场景数据库应该都是致远非标准支持的库,致远非标准支持的数据库需要进行如下几步动作:
1)确认是否有项目化成功的方案,开放平台下有很多非标数据库的项目化方案,供项目参考,地址:https://open.seeyoncloud.com/v5doc/142/1185/ (opens new window)
2)是否涉及数据库项目化适配:如涉及,提前准备项目化适配补丁包,打到协同目录下指定位置(对应信创部署工具“协同路径”选项)
3)是否已经安装数据库:如没有,及时让数据库厂商安装数据库(安装要求,见前面章节)
4)是否已经导入致远的初始化脚本数据:如没有,根据实际情况判断使用什么数据库脚本导入到数据库中(或者让信创厂商转换导入)
以上4步操作不在本手册的介绍范围,部署人员自行根据对应非标数据库的项目化部署手册做操作。
以上完成后,准备好数据库连接URL、驱动类、驱动jar、用户名和密码,在宝兰德JDBC数据源下手动配置数据源连接:
1、首先,放置驱动jar,找到数据库厂商的数据库驱动,放到宝兰德实例目录/lib下、放到宝兰德实例目录/lib下、放到宝兰德实例目录/lib下(不要乱放别的位置)
宝兰德实例目录获取方法见常见问题
下图是非标支持的虚谷数据库驱动jar放入宝兰德实例/lib下的案例:
注:不同小版本宝兰德配置页面略有差异,但必填项就那么几个,做好必填项的填写即可
2、宝兰德控制台,访问菜单-资源管理-JDBC-单数据源,新建数据源:
3、新建JDBC资源-基本配置按以下要求填写:
名称:必须是jdbc/ctpDataSource
,OA只认这个JNDI名称
数据库驱动供应商:根据实际情况选择,找不到就选“Other”其它
资源类型:默认java.sql.Driver
即可
数据库驱动类名:按要求填写准确,不知道就参考项目化部署手册上面的类名,再不清楚就联系数据库厂商提供
数据库驱动路径:不要填写,只要确保前面第1步操作正确:将数据库驱动jar放置到实例lib目录下
主机名:数据库的服务器IP,本机不要用127.0.0.1
端口:数据库的端口号,不清楚就联系数据库厂商
数据库名、用户名、密码:按要求填写正确,不清楚就联系数据库厂商
URL:如果是默认生成,务必参考项目化部署手册检查是否还要手动追加参数,不清楚就联系数据库厂商
# 2、检查配置池设置
无论手动还是自动配置JDBC,均做好数据库连接池配置检查:
初始连接数据:生产上线,设置为50,启动初始化就创建50个连接程序消费(如果是200人以内在线,初始配置30即可)
最小连接数:生产上线,设置为50,让程序至少保持50个活动连接(如果是200人以内在线,初始配置30即可)
最大连接数:生产上线,设置为500,能满足大部分并发场景
验证SQL录入 select 1 from ctp_config;
其它配置可保持现状。
# 3、检查配置部署目标
确保实例放在了右侧,这个配置表示“已选择”的实例使用这个数据库连接配置:
# 4、检查调整高级配置
事务隔离级别必须选择:READ_COMMITTED、READ_COMMITTED、READ_COMMITTED
自动提交:必须勾选启用
释放连接时回滚:必须勾选启用
其它配置可保持现状,后续如果出现数据库问题,可根据宝兰德技术的处理意见做其它配置调整。
# 5、保存JDBC配置
保存后,有如下提示,这里红字也提醒了将驱动放入中间件实例lib下,参考前面章节检查驱动jar是否放置正确!
保存后,再进入jdbc/ctpDataSource,底部有Ping按钮,可以测试连接数据库是否正常:
如果报错,则取中间件目录下的日志 tail -f /data/BES955/AdminServer/logs/server.log
分析。
# 七、部署应用
以上所有步骤完成后,进行应用部署,应用部署不同于前面的信创工具部署:信创工具只是部署中间件的JVM、HTTP等信息;而本章节应用部署是将OA应用程序部署到中间件。
提醒:OA的所有应用(root、seeyon、static、sportal)需要部署在同一个实例下,不支持在多个实例下分开部署!
# 找到工具部署的协同路径
协同路径就是OA的代码位置,部署工具部署前手动配置的地址,如图所示,协同路径下必然会有一个V5目录:
# 手工检查协同路径下文件是否调整
1、(使用信创部署工具,可忽略本步操作)删除协同路径下/ApacheJetspeed/webapps/ROOT/META-INF/context.xml文件:如果手工检查发现文件还存在,则删除context.xml。
2、(使用信创部署工具,可忽略本步操作)确保web.xml中已经添加了metadata-complete="true"
参数配置,协同路径ApacheJetspeed/webapps/seeyon/WEB-INF/web.xml文件需要此配置,信创部署工具默认会添加,如检查发现参数不存在,则添加:
cd /Seeyon/A8/V5/ApacheJetspeed/webapps/seeyon/WEB-INF
vim web.xml
3、(使用信创部署工具,可忽略本步操作),协同路径ApacheJetspeed/webapps/seeyon/WEB-INF/目录下新建bes-web.xml并且增加相关配置:
cd /Seeyon/A8/V5/ApacheJetspeed/webapps/seeyon/WEB-INF
# vim命令如文件不存在,保存后会自动创建文件
vim bes-web.xml
# bes-web.xml中增加如下配置信息:
<bes-web-app>
<class-loader delegate="false" />
<property name="requestCharacterEncoding" value="utf-8" />
</bes-web-app>
4、(使用信创部署工具,可忽略本步操作)将XinChuang部署包deploytools/file/productiden中的文件,按产品线(A8V5-1:A8 企业版、A8V5-2: A8 集团版、A8N-1:A8-N 企业版、A8N-2:A8-N 集团版、G6N-1:G6-N单组织、G6N-2:多组织、G6SU-1:督查督办单组织、G6SU-2:督查督办多组织)解压成ApacheJetspeed文件夹,覆盖 协同V5 目录下的 ApacheJetspeed。
cd /data/2.V9.0SP1_XinChuang/deploytools/file/productiden
7z x A8N-2.7z
cp -r ApacheJetspeed/* /Seeyon/A8/V5/ApacheJetspeed/
# 协同路径指定目录放置license
将-N产品加密狗授权license注册后(注册使用标准产品安装包中的updateDog,注册时务必绑定当前宝兰德服务器的Mac地址),授权文件放置到部署包V5/base/license下:
A8-N注册后的加密授权名为a8nv5.seeyonkey
# 查看部署实例中间件日志
实例部署日志位于宝兰德服务器,部署实例目录/logs/server.log,如何获取部署实例目录参考常见问题。
在进行部署应用前,建议通过tail -f
监控日志情况,随时观察应用部署异常。
tail -f 部署实例目录/logs/server.log
# 第一步:部署ROOT应用
宝兰德管理控制台-应用管理-常用应用:选择部署
部署模式选择“本地模式”,其余不要调整,点击下一步:
部署目标,把左侧的可选目标放到右侧。然后应用目录,通过弹窗的形式选到协同路径下/V5/ApacheJetspeed/webapps/ROOT目录为止(如下图所示),选好后点下一步:
部署属性,应用名称必须是ROOT
,应用前缀必须是/
,其余不用调整,部署顺序默认100,部署超时设置默认600,点击下一步,保存。
# 第二步:部署static应用
宝兰德管理控制台-应用管理-常用应用:继续选择部署
参考“部署ROOT应用”章节,部署模式选择“本地模式”,其余不要调整,点击下一步
参考“部署ROOT应用”章节,部署目标,把左侧的可选目标放到右侧。然后应用目录,通过弹窗的形式选到协同路径下/V5/ApacheJetspeed/webapps/static目录为止(注意是static,不是ROOT了),选好后点下一步
部署属性,应用名称必须是static
,应用前缀必须是/static
,其余不用调整,部署顺序默认100,部署超时设置默认600,点击下一步,保存。
# 第三步:部署seeyon应用
宝兰德管理控制台-应用管理-常用应用:继续选择部署
参考“部署ROOT应用”章节,部署模式选择“本地模式”,其余不要调整,点击下一步
参考“部署ROOT应用”章节,部署目标,把左侧的可选目标放到右侧。然后应用目录,通过弹窗的形式选到协同路径下/V5/ApacheJetspeed/webapps/seeyon目录为止(注意是seeyon,不是ROOT了),选好后点下一步
部署属性,应用名称必须是seeyon
,应用前缀必须是/seeyon
,部署顺序改成101、部署顺序改成101、部署顺序改成101,部署超时设置3600、部署超时设置3600、部署超时设置3600,其余不用调整,点击下一步,保存。
保存后,seeyon应用会执行启动部署,需要花费一定时间。seeyon应用是最容易部署失败的,失败效果如下:
此时,需要参考“查看部署实例中间件日志”章节,查看部署启动日志server.log,分析报错原因:
如果分析到问题原因,需要给V5协同目录下打补丁或放置文件,执行操作之后,通过宝兰德控制台-实例管理-先强制停止实例,再启动实例,确保实例加载了最新的配置文件!
通过实例的server.log如果看到“完成初始化seeyon资源信息”,就算部署启动成功:
# 第四步:部署sportal应用
宝兰德管理控制台-应用管理-常用应用:继续选择部署
参考“部署ROOT应用”章节,部署模式选择“本地模式”,其余不要调整,点击下一步
参考“部署ROOT应用”章节,部署目标,把左侧的可选目标放到右侧。然后应用目录,通过弹窗的形式选到协同路径下/V5/ApacheJetspeed/webapps/sportal目录为止(注意是sportal,不是ROOT了),选好后点下一步
部署属性,应用名称必须是sportal
,应用前缀必须是/sportal
,部署顺序改成102、部署顺序改成102、部署顺序改成102,部署超时设置3600、部署超时设置3600、部署超时设置3600,其余不用调整,点击下一步,保存。
通过实例的server.log如果看到“sportal was successfully deployed”,就算部署启动成功:
# 全部应用部署后效果
以下是4个应用部署后的效果:
# 访问协同OA系统
部署完成后,即可访问OA系统。
宝兰德管理控制台-实例管理-查看当前实例,找到“http-listener-1_port”的值,这个就是OA访问端口,默认是18080端口:
通过浏览器访问http://服务器IP:18080/seeyon
,如果显示登录页面则部署成功,通过内置的init-admin帐号登录系统,进行组织、帐号权限配置:
协同OA地址:http://服务器IP:18080/seeyon
首次登录帐号:init-admin
首次登录密码:123456
# 日常运维操作
# 启停中间件Server
启动宝兰德中间件服务:
# 启动命令:如果确认宝兰德没启动,到中间件bin目录下执行启动
cd /data/BES955/AdminServer/bin
# 执行./startManagement命令启动管理控制台
./startManagement
# 随后根据提示,查看启动的server.log日志,出现Started compress log service则表示成功
tail -f /data/BES955/AdminServer/logs/server.log
停止宝兰德中间件服务:
# 停止命令:同样到中间件bin目录下执行如下命令
cd /data/BES955/AdminServer/bin
# 停止时需要验证管理员帐号密码,使用登录管理控制台的用户和密码即可
./stopManagement
判断宝兰德自身服务是否启动的方法:
1、客户端可以通过“访问中间件控制台”章节,浏览器访问中间件控制台,如果连不上,则要到服务器判断服务是否启动。
2、服务器端,通过ps -ef | grep java | grep server
命令检查宝兰德中间件服务是否处于启动状态,如果路径中包含宝兰德的server
目录,则表示是宝兰德服务:
# 查看中间件控制台日志
中间件的日志位于:中间件安装目录/logs/server.log
# 如果按照本手册安装,日志存放于如下地址:
cat /data/BES955/AdminServer/logs/server.log
tail -f /data/BES955/AdminServer/logs/server.log
# 协同OA服务启动步骤
如果要让OA系统可部署、可使用,需要让中间件下的实例处于启动状态:
1、先启动宝兰德server,参考“启停中间件Server”,确保宝兰德服务处于启动状态:
2、宝兰德控制台,节点管理菜单-启动节点,确保节点处于启动状态:
3、宝兰德控制台,再确保集群处于启动状态(非必须,仅集群菜单下有配置,并且实例依赖集群才启用)
4、宝兰德控制台,实例管理菜单-启动实例,确保实例处于启动状态:
5、以上完成后看OA启动日志tail -f /Seeyon/A8/V5/ApacheJetspeed/logs_sy/ctp.log
(路径根据项目实际情况调整),如有异常,可以配合实例日志一起分析tail -f /data/BES955/AdminServer/node/seeyon_node1/instances/seeyon_a/logs/server.log
(路径根据项目实际情况调整)。
# 协同OA服务停止步骤
参考“协同OA服务启动步骤”操作:先强制停止实例、再停节点。
也可以访问服务器通过kill java进程来停止。
# 获取中间件日志和OA日志
部署完成后,日常分析问题时,中间件日志一般表示实例的日志,存放于实例目录logs/server.log文件里:tail -f /data/BES955/AdminServer/node/seeyon_node1/instances/seeyon_a/logs/server.log
协同OA的日志存放于协同OA目录logs_sy下:tail -f /Seeyon/A8/V5/ApacheJetspeed/logs_sy/ctp.log
,与ctp.log同级的其它日志也是关键日志文件
# 解除jdbc/ctpDataSource的绑定
取消当前实例下的JDBC绑定,需要先进入具体的实例下,再访问菜单-资源管理-JDBC-单数据源-找到jdbc/ctpDataSource-解部署:
# 宝兰德补丁维护
个人不要私自乱打补丁,请在宝兰德技术指导下进行补丁操作。
本次个人测试打补丁出现了很多问题,最终没办法只能回滚重装,故打补丁务必慎重再慎重!
# 安装部署S1运维工具
S1的安装包位于xxx_XinChuang.zip里面,单独S1目录存放。
要使用S1,首先需要赋予目录相关可执行权限:
cd /data/2.V9.0SP1_XinChuang/S1
chmod -R 755 ./bin/
然后修改start.sh文件,设置JAVA_HOME地址:
cd /data/2.V9.0SP1_XinChuang/S1/bin
vim start.sh
以上完成后执行./start.sh
命令启动S1,初次可能报错,可以直接再运行一次./start.sh
直至控制台出现如下提示,表示S1启动成功:
通过ps -ef | grep java | grep S1.jar
查看S1正常启动为止:
通过http://S1服务器IP:8864
访问S1,如果是客户端远程访问,需要设置IP白名单,按照页面提示配置IP,配置之后需要先停后启动S1才生效:
初次登录还需要重置密码,重置密码的文件是resetPwd.sh,需要先设置JAVA_HOME再执行操作,重置后需要先停后启动S1才生效:
cd /data/2.V9.0SP1_XinChuang/S1/bin
# 先修改resetPwd.sh,将里面的JAVA_HOME配置成服务器真实地址
vim resetPwd.sh
# 以上保存后,再执行重置操作
./resetPwd.sh
以上完成后,确保S1进行了重启,重启之后使用默认帐号admin
加自定义的密码登录使用S1:
首次登录系统,需要配置环境初始变量,参考如下配置完成后,需要先停后启动S1才生效:
- 中间件选择:宝兰德
- 服务安装路径:对应协同OA下webapps这一层目录
- 协同Base目录:参考截图
- 中间件安装路径:宝兰德对应具体实例的目录
- 服务IP:对应协同OA的IP
- 服务端口:对应协同OA的端口,宝兰德默认是18080
如果是OA不支持的数据库,还需要将数据库的正确的驱动jar放入S1中,放置后先停后启动S1才生效:
# 常见问题
问题一:中间件总提示“实例目录下xxx”,这个实例目录在哪里?
回复:宝兰德管理控制台-实例管理-实例列表上有一个“实例位置”,这个就对应服务器上实例目录:
快速跳转
