# 宝兰德部署操作手册

# 宝兰德BES中间件(v952版本)

将 BES 中间件程序包上传后解压至服务器。

# 中间件JDK变量设置

JAVA_HOME设置openjdk的绝对路径,设置的目录下需存在bin/java文件:

# 通过vi或vim命令修改/etc/profile,设置系统范围的环境变量
vi /etc/profile

# 在vi或vim编辑模式下,将以下四行命令放置到profile文件里,随后通过vi或vim标准方法保存
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64/
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

# 重新加载/etc/profile文件,使更改立即生效
source /etc/profile

执行命令生效:

 source /etc/profile

# 初始化及启停服务

初始化:进入中间件安装目录下bin下(路径根据实际路径修改),执行./initstore命令:

 cd /home/BES-CLUSTER-9.5.2/bin
 ./initstore

将控制台进程设置为开机自启动:

启动控制台:systemctl start bescluster95.service

通过systemctl status bescluster95.service可以查看服务状态为active(running)

通过netstat -ntlp\|grep 6900可以看到6900端口已启动

 浏览器访问 :http://宝兰德服务器IP:6900/console
 默认用户名:admin 默认密码:B#2008_2108#es
 --也可以执行脚本启动控制台服务:

 ./startManagement

 --停止控制台服务

./stopManagement

# 信创部署工具部署A8N版本

特别注意:此部署过程,会将产品标识文件放置到OA目录、版本初始化sql导入数据库、以及自动实现中间部分配置(标注自动的部分,若数据库类型为其他,部署完整后,需要手动初始化数据库,并手动部署JDBC数据源),后续无需再人工进行相应操作,由于工具会自动配置中间件,所以使用工具前,需要先根据手册创建和节点实例,并启动一次实例后,再使用工具部署。

进入deploytools目录,目录中文件如下:

不同版本文件名称会有差异,请执行实际版本文件。

例如:部署A8N8.2,请使用deployGUI-for-V8.2-A8N.sh

支持图形界面和静默两种方式,两种方式二选一即可,不用两个都执行。建议使用图形界面方式。

  • 图形界面使用deployGUI-for-V8.2-A8N.sh 启动。

  • 命令行静默方式使用deploycli-for-V8.2-A8N.sh 启动,但前提条件为先配置对应的参数文件,具体参考后续说明。

Linux环境下启动脚本授权方法:

chmod +x deployGUI-for-V8.2-A8N.sh
授权使deployGUI-for-V8.2-A8N.sh可执行。

chmod +x deploycli-for-V8.2-A8N.sh
授权使deploycli-for-V8.2-A8N.sh可执行。

# 3.1、图形化部署

./deployGUI-for-V8.2-A8N.sh 启动脚本(注意:如果是通过ssh方式登录的服务器,请用ssh登录的用户启动,否则可能导致安装页面无法弹出)

启动后安装界面如下图:

选择【安装】按钮:

CPU:目前支持三类: ARM, MIPS, x86 咨询服务器提供商,确认类型

系统:当CPU类型为ARM时,需要再次选择系统类型 uos kylin

中间件类型:东方通、金蝶、宝蓝德

中间件路径:东方通选择到东方通部署目录,金蝶选择到域目录,宝蓝德选择到实例目录。

协同路径:/Seeyon/A8(后续调整配置、中间件部署应用时需要用到)

协同产品线:A8-N企业版/A8-N集团版(根据客户部署版本进行选择)

在线人数:<500, 500-1000,1000-2000,选择区间,根据选择的区间工具会配置对应的JVM参数

数据库:人大金仓/达梦/神通/其他(若数据库类型为其他,部署完整后,需要手动初始化数据库)

JDBCDriver:(默认,无需修改)

JDBCURL:需要修改:IP、端口、库名(库名需要在数据库中提前创建,根据实际情况填写)

数据库用户:****

密码:*****

参考配置下图所示:

验证参数:

参数验证成功,提示数据库连接成功后,点击【部署】,等待提示安装成功!

# 3.2、命令行静默方式

静默方式必须先配置参数文件,再执行。

  1. 配置参数文件,部署产品为A8N,配置文件路径为:工具目录下cfgHome/installConfig.properties

2、请按#备注说明进行调整,调整为实际使用的值

3、调整完成保存

示例如下:

1679652871085.png

注意点:

协同路径:/Seeyon/A8 (最终会将ApacheJetspeed文件解压放到/Seeyon/A8/V5目录下)

4、修改脚本参数

A8N_8.2:deploycli-for-V8.2-A8N.sh

修改要执行的脚本末尾的参数,将默认的upgrade 改为 install

  1. 执行脚本

./deploycli-for-V8.2-A8N.sh

该形式无图形界面提示,所有信息通过窗口输出日志进行提示。

请注意查看窗口输入日志,根据日志判断是否成功。

成功日志形式如下:

失败日志形式如下:

中间校验出错时会有下面提示

请根据提示再次检查配置文件。调整配置后,再执行启动脚本即可。

# 主机管理

# 4.1 新增主机

seeyon【名称可自定义】

名称:可任意填写,自定义

主机名IP:填写IP地址(请勿填写127.0.0.1)

用户名与密码:填写服务器上的用户及密码。

主机创建完成后,可点击主机再次进入,点击ping测试是否成功,如果成功即表示可以通过上述配置的IP地址及用户密码成功登录该主机:

# 4.2 节点管理

# 4.2.1、创建节点

录入节点信息,选择上一步录入的主机,及节点存放位置(可单独指定,当前配置是存放于BES中间件目录下)。

节点名称:自定义

节点目录:即是节点安装的绝对路径,可自定义配置(*若要使用信创部署工具,这里要求安装在中间件安装目录下比如/opt/BES/node

# 4.2.2、安装节点

节点属性修改保存后,点击安装节点。

# 4.2.3、(自动)修改节点属性

修改节点属性,timeout设置调大:

# 4.2.4、启动节点

# 4.3 实例管理

# 4.3.1、创建实例

(*若要使用信创部署工具,这里要求创建好实例后,需要先启动一次实例

# 4.3.2、(自动)增加实例系统属性

com.bes.enterprise.web.util.scan.StandardJarScanFilter.jarsToSkip-test *

com.bes.enterprise.web.compiler.ignoreHtmlComment false

# 4.3.3、(自动)修改实例的JVM配置

根据实际可用内存调整堆设置,元空间初始值和最大值配置成一致,建议2048M

修改页面下方JVM选项,

增加参数:-Djava.awt.headless,值为true

增加参数:-XX:ReservedCodeCacheSize,值为1G。

增加参数:jdbcproxydriver.driverclass数据库驱动类名配置(针对所用数据库配置指定信息):

人大金仓:-Djdbcproxydriver.driverclass=com.kingbase8.Driver

达梦:-Djdbcproxydriver.driverclass=dm.jdbc.driver.DmDriver

神通:-Djdbcproxydriver.driverclass=com.oscar.Driver

修改完成上述参数保存后,启动实例,此时在节点instances目录将生成实例目录。

再使用控制台-实例管理-停止实例,修改实例配置default-web.xml文件:

vim /home/BES-CLUSTER-9.5.2/node/seeyon_node1/instances/seeyon_a/conf/default-web.xml

添加如下配置:

<init-param>

<param-name>trimSpaces</param-name>

<param-value>false</param-value>

</init-param>

# 4.3.4、(自动)实例jar包更新

进入到信创包ApacheJetspeed/lib下:

cp websocket-api.jar wstx-asl.jar druid.jar guava.jar seeyon-ctp-dbpool.jar seeyon-ctp-jdbcproxydriver.jar sqlite-jdbc.jar sqljdbc42.jar seeyon-ctp-giant-panda.jar /home/BES-CLUSTER-9.5.2/node/seeyon_node1/instances/seeyon_a/lib/

如果ApacheJetspeed/lib下没有,就到ApacheJetspeed\webapps\seeyon\WEB-INF\lib目录下拷贝!

同时删除/Seeyon/A8/V5/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/seeyon-ctp-jdbcproxydriver.jar以及seeyon-ctp-giant-panda.jar文件。

拷贝对应数据库驱动文件到实例的lib目录:

达梦数据库:

cp DmJdbcDriver18.jar /home/BES-CLUSTER-9.5.2/node/seeyon_node1/instances/seeyon_a/lib/

人大金仓数据库(注意区分R3和R6版本驱动,使用对应数据库版本驱动):

cp kingbase8-8.6.0.jar /home/BES-CLUSTER-9.5.2/node/seeyon_node1/instances/seeyon_a/lib/

*注意:若数据库非达梦、神通、人大金仓、数据库驱动需要手动拷贝。

# 4.3.5、(自动)线程池管理

调整实例最大线程池大小为4096。

修改post请求体大小限制,改为 -1 1710472861627.png 以上操作完成后启动实例。

# (自动 数据库类型为其他时,需要手动)部署 JDBC 数据源

参数导航:选择资源管理-JDBC-单数据源,点击部署-新建,数据源:

JDBC标准名称(JNDI):jdbc/ctpDataSource

  • 下图为达梦数据库配置

数据库驱动供应商选择:DM(达梦)

资源类型:java.sql.Driver

  • 数据库驱动类类名:

  • 达梦、人大金仓、神通数据库驱动类名均修改为:

  • com.seeyon.ctp.monitor.perf.jdbcmonitor.proxyobj.JMProxyDriver

连接配置:正确输入数据库服务器ip,端口、数据库名,用户名密码

URL(示例):jdbc:dm://10.3.4.206:5236/SEEEYON

  • 下图为人大金仓数据库配置

数据库驱动供应商选择:Kingbase(人大金仓)

资源类型:java.sql.Driver

数据库驱动类类名:com.seeyon.ctp.monitor.perf.jdbcmonitor.proxyobj.JMProxyDriver

连接配置:正确输入数据库服务器ip,端口、数据库名,用户名密码

URL(示例): jdbc:kingbase8://192.168.225.40:54321/v81_r6?clientEncoding=UTF-8

注意:选择数据库驱动厂商后默认的kingbase需要改为kingbase8,在驱动类名和url两处都需要修改,url数据库名后加上:?clientEncoding=UTF-8

数据源配置输入完成后,点击下一步,修改连接数。

下一步选择部署目标,添加到右侧即可:

下一步:高级配置

事务隔离级别:READ_COMMITTED

自动提交:必须勾选

释放连接时回滚:必须勾选

ps:宝兰德去年发布的中间件版本9.5.5开始,其提供的数据库连接池参数:自动提交和释放连接时回滚默认不再勾选,请主动进行勾选上

最后一步,保存。

再次点击数据源展开数据源配置页面,点击下方ping按钮,测试数据源连通性。

# 部署应用

特别说明:OA的所有应用(root、seeyon、static、sportal)需要部署在一个实例下,不支持在多个实例下分开部署

应用调整:

1.(自动)删除ApacheJetspeed/webapps/ROOT/META-INF/context.xml

cd ApacheJetspeed/webapps/ROOT/META-INF

rm context.xml

2.(自动)修改 ApacheJetspeed/webapps/seeyon/WEB-INF/web.xml 文件

cd ApacheJetspeed/webapps/seeyon/WEB-INF

vim web.xml

# 加入以下行配置

metadata-complete="true"

3. (自动)新建bes-web.xml新建文件

cd ApacheJetspeed/webapps/seeyon/WEB-INF

vim bes-web.xml

# 输入以下内容

<bes-web-app>

<class-loader delegate="false" />

<property name="requestCharacterEncoding" value="utf-8" />

</bes-web-app>

4. (自动)放置产品标识文件:

将部署包 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。

5. 放置license:

将产品授权 license 注册后(注册使用标准产品安装包中的 updateDog),放置在部署包 V5/base/license 下。

部署ROOT

BES 中间件菜单【应用管理-常用应用】

依次选择A8N 应用 webapps 目录下 ROOT 应用。

部署模式选本地模式,点击下一步

选择部署目标到右侧,应用目录选择ROOT目录位置,点击下一步

输入应用名称:ROOT,应用前缀输入/,部署顺序默认100,点击下一步,保存。

部署static应用:

参考ROOT部署步骤,选择部署包ApacheJetspeed/webapps 目录下static应用。

应用名称为static,应用前缀为/static,其它默认即可。

部署seeyon应用

应用前缀修改为/seeyon,部署顺序101 ,部署超时改为3600,点击保存开始部署。

部署sportal应用

应用前缀修改为/sportal,部署顺序102 ,部署超时改为3600,点击保存开始部署。

# 跟踪部署过程。

cd $节点目录/节点名/instances/实例名/logs/

tail -f server.log

显示 successfully deployed in ** ms.即部署完成,可通过浏览器访问应用。

用户访问端口默认为18080,访问地址:http://中间件服务器ip:18080,可通过实例管理-基本信息-系统属性(http-listener-1_port)修改为指定端口。

后续启动与停止:

1.应用部署成功后可以登录管理控制台进行节点、实例的启停,启动实例会关联启动应用。

2.如果需要开机自动启动节点、实例及应用,在节点管理注册服务即可;如不需要服务启动则在此处删除服务。

3. 系统代码更新

应用系统代码更新后,需在启动实例服务前,清除中间件缓存。

cd $节点目录/节点名/instances/实例名/work

rm -rf *

如图所示,路径根据实际修改:

# 常见问题

问题1:访问页面报http 500错误或者界面报错查看localhost无法找到jsp.index.jsp

解决:

需要按版本拷贝版本标识文件,V8.2_XinChuang/deploytools/file/productiden A8N-1/A8N-2中 ApacheJetspeed拷贝到V8.2_XinChuang/V5下,文件拷贝后重新部署应用。

问题2:部署后访问首页报错:出现异常:java.lang.NullPointerException:null

Server.log日志记录如下异常:

解决:达梦数据库初始化数据库时没有执行commit,数据库丢失数据。删除数据库,重新初始化数据库,记得commit;

问题3:部署后应用启动报错,server.log记录如下异常信息:Caused by: java.lang.NumberFormatException: For input string: "8

"

at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[?:1.8.0_292]

at java.lang.Integer.parseInt(Integer.java:580) ~[?:1.8.0_292]

at java.lang.Integer.parseInt(Integer.java:615) ~[?:1.8.0_292]

at dm.jdbc.driver.DmdbDatabaseMetaData.do_getDatabaseMajorVersion(Unknown Source) ~[DmJdbcDriver18.jar:- 8.1.0.147 - Production]

at dm.jdbc.driver.DmdbDatabaseMetaData.getDatabaseMajorVersion(Unknown Source) ~[DmJdbcDriver18.jar:- 8.1.0.147 - Production]

at com.bes.enterprise.gjc.spi.DelegatingDatabaseMetaData.getDatabaseMajorVersion(DelegatingDatabaseMetaData.java:268) ~[bes-jdbcra.jar:9.5.2]

at com.bes.enterprise.gjc.spi.DelegatingDatabaseMetaData.getDatabaseMajorVersion(DelegatingDatabaseMetaData.java:268) ~[bes-jdbcra.jar:9.5.2]

解决:达梦数据库驱动文件有问题,重新拷贝DmJdbcDriver18.jar到实例的lib目录下(如:/home/BES-CLUSTER-9.5.2/node/seeyon_node1/instances/seeyon_a/lib/),重启实例。

问题:客开的类放到中间件下未加载成功 解决:宝兰德中间件实例重新创建,应用目录重新解压部署后,问题解决。

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