部署运维
- 1: 出盘服务平台
- 2: 单体部署
- 2.1: 服务器环境准备
- 2.2: 集群部署
- 2.3: 数据库部署
- 2.4: Elasticsearch部署
- 2.5: Redis部署
- 2.6: 信创中间件部署
- 2.7: 安装工具
- 2.8: 安装工具-无图形化
- 2.9: S1
- 2.10: 数据备份
- 2.11: 跨环境推送
- 2.12: 常见问题
- 3: 微服务部署
- 4: 报表部署
- 5:
1 - 出盘服务平台
概述
平台概述
为支撑“云端定制+本地部署”的业务模式,出盘服务提供V8全品类应用的在线打包能力,覆盖微服务部署模式(镜像)及单体部署模式(jar包)。基于插件控制的商务模式,提供插件控制点的注册及license颁发能力。同时为方便运营人员监管补丁及license的制作和颁发情况,提供补丁发布日志及license颁发日志。
业务流程
业务流程包括:
- 平台应用出盘及初始化安装流程
- 补丁出盘及安装流程
- 标准应用/定制应用出盘及安装流程
角色介绍
角色 | 介绍 |
---|---|
系统管理员 | 拥有完全的系统管理权限 |
运营 | 拥有产品出盘、补丁发布、许可管理、s1出盘权限 |
研发 | 拥有补丁出盘、应用出盘(udc2.7)权限 |
关键能力
序号 | 内容 | 关键操作简述 |
---|---|---|
1 | 产品出盘 | v8全品类应用的在线出包及插件控制点注册 |
2 | 补丁出盘 | v8全品类应用的补丁出盘及下载 |
3 | 补丁发布 | 补丁出盘日志及补丁下载 |
4 | 许可管理 | license颁发日志及license下载 |
5 | S1出盘 | S1运维工具的出盘及下载 |
6 | 组件出盘 | 微服务模式的全量前后端组件出盘和前端组件增量出盘 |
7 | 应用出盘-2.7 | udc 2.7的定制应用在线出包 |
修订记录
序号 | 修订日期 | 版本 | 内容 |
---|---|---|---|
1 | 2024.3.20 | 1.0.0 | 初始化 |
2 | 2024.4.30 | 1.1.0 | 补充微服务补丁出盘 |
4 | 2024.8.22 | 1.2.0 | 补充组件出盘 |
操作说明
产品出盘
产品出盘提供了全品类V8应用的在线出包能力,包括微服务镜像及单体jar包,出盘成功后,系统将自动将应用的插件控制点注册到BOSS系统,用于下游业务的产品封装及上架
术语说明
术语 | 说明 | |
---|---|---|
产品类型 | 平台应用 | 手写应用,应用提供方为致远研发团队 |
标准应用 | 云端低代码平台搭建的应用,应用设计方为致远应用团队 | |
定制应用 | 云端低代码平台搭建的应用,应用设计方为伙伴/区域 | |
出盘方式 | 特性升级 | 应用的前两段版本升级 |
版本修订 | 应用的第三段版本升级 |
出盘规范
产品出盘
- 选定需要出盘的产品及出盘方式,填入各迭代锁定的产品版本,查看插件控制点是否描述正确,以上事项均准备完成后即可出盘。出盘成功后可在BOSS系统的预注册标准服务处查看插件控制点的注册信息
补丁出盘
为解决A8C单体bug,提供后端服务、前端服务、后端组件、后端第三方组件、前端组件的补丁出盘能力。
术语说明
术语 | 说明 | |
---|---|---|
产品线 | A8C | 为A8C产品线制作补丁,解决客户bug通常选取该选项 |
BI | 为BI产品线制作补丁 | |
产品版本 | V8统一发版时定义的大产品版本,补丁出盘时请确认客户本地部署的大产品版本,版本不匹配会导致补丁更新后不可用 | |
补丁分类 | 平台应用 | 手写应用,应用提供方为致远研发团队,如:ctp-user |
标准应用 | 云端低代码平台搭建的应用或手写应用,应用设计方为致远应用团队,如:edoc335172694483814428、app-doc | |
扩展服务 | 手写应用,应用提供方为致远研发团队,如:extendservice | |
补丁类型 | 单点补丁 | 为解决某个客户的bug所制作的补丁 |
通用补丁 | 为解决某个产品线的共性bug所制作的补丁 | |
缺陷编号 | 《V8客户问题上报单》中的工单编号,示例:KHWT-2023098400001 | |
证书编码 | 为客户购买某套产品颁发的license的唯一标识,可登录S1_许可管理列表页查看,示例:9de173fe1ece6056dc33d2df504c283e | |
补丁描述 | 请如实填写补丁具体解决什么问题,方便客户现场人员判断 |
单体补丁出盘
- 基于上方说明填写必要的补丁参数后制作补丁,支持同时制作多个应用的补丁
- 后端服务补丁需要获取所选应用的版本号
- 前端服务补丁需要获取所选应用的分支号
- 后端组件补丁需要获取所选组件的版本号
- 后端第三方组件需要获取artifactId、groupId及版本号
- 前端组件目前仅支持全量出补丁,无需填写版本号
单体补丁下载
- 推送成功的补丁支持下载,可将离线补丁包附在《V8客户问题上报单》中,或直接交给客户现场人员,通过S1进行离线安装
单体补丁安装
请参照致远 COP-V8单体 S1用户操作手册完成补丁的在线/离线安装
微服务补丁出盘
- 基于上方说明填写必要的补丁参数后制作补丁
微服务补丁下载
微服务补丁安装
请参照COP-V8微服务产品部署手册完成补丁的离线安装
补丁发布
用于运营人员查看补丁出盘记录,一般不对研发同学开放
补丁发布
- 查看已发布的补丁及下载补丁包
许可管理
用于运营人员查看协同云下单购买的本地部署和在线部署产品的license颁发记录
许可管理
- 查看同一套产品的license颁发记录,支持下载license
S1出盘
本地部署A8C后,通常需要使用S1运维工具完成license、应用及补丁的更新,为提升客户现场运维人员的部署效率,S1会进行常规升级支撑更多运维部署场景或打补丁解决S1的bug,此时需对S1出盘。
S1出盘
- 填写S1此次更新的内容后进行S1出盘,S1的产品版本由开发维护,出盘前请联系开发人员修改产品版本,否则将无法出盘。出盘成功后可下载S1离线安装包
S1安装
请参照致远服务S1(A8-C)用户操作手册完成S1的在线/离线安装
应用出盘-2.7(临时)
该功能主要解决部分客户在云端使用2.7版本的低代码平台搭建应用,无法通过协同云通路出包的问题。
UDC2.7应用出盘/更新支持场景:
- 客户已装应用需要更新时,可通过该方式出盘,如无法通过s1界面更新,可人工替换应用的前/后端资源,详见下方“应用安装”说明
- 客户新建全新应用需认证,通过该方式出盘后,仍需解决license问题,可联系研发人工颁发license,应用安装方式同1
应用出盘
- 登录低代码平台(apass 2.7环境)获取应用信息,包括**应用中文名称、应用标识、应用版本号(要取发布版本),**如:薪酬管理、xinchou1102283872214862529、40.0.0
- 访问出盘服务(需登录公司vpn),如登录vpn后依然无法访问,请联系 [刘东攀] 授权vpn账号权限 (10.255.2.6/80),联系电话:15311327056
- 地址:https://delivery.seeyonv8.com/delivery-service/login
- 用户名:chupan
- 密码:123456
- 输入应用名称、标识、版本后新建出盘任务,等待出盘完成
安装包下载
- 出盘完成后下载安装包到本地
应用安装
**方式一:**将安装包导入s1所在服务器 ,通过s1离线安装的方式安装应用
**方式二:**如因应用版本号校验阻塞安装或待安装列表无可选应用,可解压应用包,将后端文件(.jar)替换到以下路径:C:\Seeyon\A8C\ApacheJetspeed\webapps\seeyon\WEB-INF\lib。将前端资源替换到以下路径:C:\Seeyon\A8C\ApacheJetspeed\webapps\seeyon\static。替换前请务必手动备份一下旧版本应用,避免升级产生问题后无法回滚
组件出盘
组件出盘用于解决微服务部署V8时的前后端组件缺失问题。通过微服务安装工具部署V8时,如需要使用低代码平台,则在部署时需同步上传前后端的全量组件
新建全量版本
- 每个迭代发版时,先由运营人员发布前/后端全量组件版本,通常为3.x.0,如3.5.0。该版本作为基线版本在部署环境时上传至客户环境。
新建增量版本
- 增量版本出盘可用于解决客户现场环境的组件缺失问题,通常由研发人员发起。新建时填写的产品版本要与客户现场版本一致,目前仅支持3.5版本,仅支持前端增量组件。研发人员输入的版本号需递增,如初始全量版本为3.5.0,增量版本则需填写3.5.1
下载
- 出盘成功的组件包支持下载到本地,可附在bug工单中提供给实施或运维人员
插件维护
插件维护用于维护产品出盘时携带的插件控制点,运营人员可通过界面随时变更产品的插件控制点。插件控制点的维护类别如下:
- 致远平台应用插件:致远手写应用的插件控制点,如用户中心、消息中心等
- 致远标准应用插件:致远通过低代码平台搭建应用的插件控制点,如新闻、会议等
- 云端标准应用插件:云端商品设计空间搭建应用的插件控制点
新建服务
- 新建一级服务
删除服务
- 删除一级服务
编辑服务
- 编辑一级服务
- 维护服务的插件控制点或特征点,包括新建、编辑、维护依赖
2 - 单体部署
2.1 - 服务器环境准备
前言
本手册对V8服务器环境准备相关事宜进行说明。
如对本手册中相关内容存在疑问,请与致远互联的客户服务人员联系。
系统拓扑图
简单部署
集群部署
说明:
- 各服务间连接使用千兆网络;
- 建议使用Linux操作系统;
- 建议使用备份软件对数据、程序备份;
- 建议有网络信息安全保护措施,如防火墙;
- 公网访问建议搭建虚拟专用网,如VPN;
- 建议使用MySQL;
- 建议配备UPS不间断电源;
- 建议使用监控软件进行监控,建立预警机制;
- 支持负载均衡,如:F5
- 不支持安腾(ITANIUM)处理器。
系统默认端口
注:请将对其他服务或客户端开放的端口,添加到操作系统的防火墙规则中。
系统常见端口如下表:
服务 | 端口 | 用途 | 端口开放规则 | 备注 |
---|---|---|---|---|
A8C服务 (Tomcat) | 80 | Tomcat Http端口 | 对所有客户端开放 | 可修改配置文件server.xml |
8086 | websocket端口 | 对所有客户端开放 | 可配置application.yaml中seeyon.system.websocket-port值 | |
8951 | Tomcat Ajp端口 | 对(Apache)Web服务器开放 | 无可视化配置,可修改配置文件server.xml | |
8105 | Tomcat服务端口 | 不需对外开放 | 无可视化配置,可修改配置文件server.xml | |
Oracle | 1521 | Oracle监听默认端口 | 对协同服务开放 | netca中配置 |
1158 | Oracle EM默认端口 | 不需对外开放 | emca中配置 | |
MySQL | 3306 | MySQL服务端口 | 对协同服务开放 | My.ini中可配置 |
SQLServer | 1433 | SQLServer服务端口 | 对协同服务开放 | SQLServer应用配置器中配置 |
PostgreSQL | 5432 | PostgreSQL服务端口 | 对协同服务开放 | 修改配置文件 |
Web服务器 | 80 | HTTP端口 | 对所有客户端开放 | 修改配置文件 |
443 | HTTPS端口 | 对所有客户端开放 | 修改配置文件 |
若系统使用电子邮件功能,请将服务器设置正确的DNS,且保证可以与电子邮件服务的端口通信(常见的电子邮件端口:25、110)。
协同服务访问端口不推荐设置为公认端口(WellKnownPorts,从0到1023)除了80以外的其它端口;
各服务端口推荐设置为注册端口(RegisteredPorts,从1024到49151)除了以下非安全端口以外的其它端口:
2049, // nfs
3659, // apple-sasl / PasswordServer
4045, // lockd
6000, // X11
6665, // Alternate IRC [Apple addition]
6666, // Alternate IRC [Apple addition]
6667, // Standard IRC [Apple addition]
6668, // Alternate IRC [Apple addition]
6669, // Alternate IRC [Apple addition]
各服务端口不推荐设置为动态/私有端口(Dynamicand/orPrivatePorts,从49152到65535)范围内的端口。
服务器端环境说明
软件环境说明
分类 | 应用单机 | 应用集群 | |
---|---|---|---|
操作系统 | Windows | Windows Server 2012 Enterprise Edition及以上 | |
Linux | Red Hat Enterprise edition 7及以上 | ||
应用服务器 | Tomcat | Apache Tomcat 9.0 | |
数据库 | PostgreSQL | PostgreSQL 13.3,仅支持A6系列 | 不支持 |
MySql | 推荐MySQL5.5以上,要求InnoDB引擎 | 不支持 | |
SQLServer | SQLServer 2008~2019 | ||
Oracle | Oracle10g~19c; Oracle11g版本,推荐11.2.0.4版本; Oracle12c版本,推荐12.2.0.1版本; Oracle 12.1.0.2数据库版本在进行流式批量更新操作LOB数据存在BUG,已收录于Oracle Bug 19703301 ORA-22275 “invalid lob locator specified” if fix for bug 14044260 present https://support.oracle.com/knowledge/Oracle%20Database%20Products/2015052_1.html |
说明:
- 以上必须使用64位操作系统及软件版本;
- 以上均支持中文和英文,英文操作系统需安装中文字库;
- 不推荐和其它独立产品部署在同一操作系统下,如:NC、IIS
- 不支持和其它产品部署在同一中间件下;
- 支持虚拟机:虚拟机需要使用软加密;
- 数据库,推荐使用独立的数据库服务;
服务器运行环境要求
以下推荐配置为协同服务、数据库服务的推荐配置。
协同周边独立能力服务的安装配置,参考“各独立服务安装维护手册”。
并发数说明
此文档中并发用户数包含协同PC端的并发数和移动端的并发数:
单机环境:协同PC端并发数 + 移动端并发数 ≤ 3000;
集群环境:协同PC端并发数 + 移动端并发数 ≤ 5000;
单台服务器集中部署环境要求
并发用户数小于200,单台服务器集中部署A8-C协同服务、数据库服务、S1Agent服务场景下,服务器环境要求如下:
类别 | 配置 | 具体参数 |
---|---|---|
应用服务器 | 硬件 | CPU:2.3GHz以上,64位,三级缓存10M以上,32核以上 硬盘:SCSI/SAS硬盘,500G以上 内存**:64G**以上 |
网络 | 硬件 | 局域网接入带宽> 1Gbps |
操作系统 | OS | 64位 Windows Server 2012 Enterprise Edition及以上,不能是Windows 7旗舰版、Windows 10专业版等非Server系列 Red Hat Enterprise edition 7及以上 |
各能力服务器硬件配置检查
协同应用服务之外,可独立部署的服务、最低建议配置(根据实际业务情况,可进行合并或优化调整)及服务用途见以下清单:
序号 | 服务名称 | 推荐配置 | 主要用途 |
---|---|---|---|
1 | Elasticsearch服务 | CPU:16C 内存:32G | 协同内的全文检索功能 |
2 | WEB服务 | CPU:16C 内存:32G | Nginx反向代理 提供以下服务 单机/集群https访问 集群负载均衡服务 |
3 | Redis缓存服务 | CPU:16C 内存:32G | 缓存服务 |
服务器硬件配置检查
在线500以下用户
类别 | 配置 | 具体参数 |
---|---|---|
应用服务器 | 硬件 | CPU:2.3GHz以上,64位,三级缓存10M以上,16核以上 硬盘:SCSI/SAS硬盘,320G以上 内存:32G以上 |
数据库服务器 | RAM | PostgreSQL/MYQSL/SQLServer/Oracle:16G |
网络 | 硬件 | 局域网接入带宽> 1Gbps |
操作系统 | OS | Windows Server 2012 Enterprise Edition及以上,不能是Windows 7旗舰版、Windows 10专业版等非Server系列 Red Hat Enterprise edition 7及以上 CentOS 7 及以上 |
说明:
- 应用服务器内存等配置要求为协同服务专属服务器配置要求,若集中部署了其它产品或者其它能力服务如ES、Redis服务等,请根据情况增加资源或分离部署能力服务;
- 应用服务、数据库服务建议分离部署;
- 应用服务器、数据库服务器必须使用64位操作系统;
在线500-2000用户
类别 | 配置 | 具体参数 |
---|---|---|
应用服务器 | 硬件 | CPU:2.3GHz以上,64位,三级缓存12M以上,32核以上 硬盘:SCSI/SAS硬盘,500G以上,建议做镜像 内存:64GB以上 |
数据库服务器 | RAM | MYQSL/SQLServer/Oracle:32G |
网络 | 硬件 | 局域网接入带宽> 1Gbps 数据中心网络和客户访问网络必须分开 |
操作系统 | OS | Windows Server 2012 Enterprise Edition及以上,不能是Windows 7旗舰版、Windows 10专业版等非Server系列 Red Hat Enterprise edition 7及以上 CentOS 7 及以上 |
说明:
- 应用服务器内存等配置要求为协同服务专属服务器配置要求,若集中部署了其它产品或者其它能力服务如ES、Redis服务等,请根据情况增加资源或分离部署能力服务;
- 应用服务、数据库服务必须分离部署;
- 应用服务器、数据库服务器必须使用64位操作系统;
在线2000-3000用户
类别 | 配置 | 具体参数 |
---|---|---|
应用服务器 | 硬件 | CPU:2.3GHz以上,64位,三级缓存12M以上,64核以上 硬盘:SCSI/SAS,1T以上,建议做镜像 内存:128GB以上 |
数据库服务器 | RAM | MYQSL/SQLServer/Oracle:64G |
网络 | 硬件 | 局域网接入带宽> 1Gbps 数据中心网络和客户访问网络必须分开 |
操作系统 | OS | Windows Server 2012 Enterprise Edition及以上,不能是Windows 7旗舰版、Windows 10专业版等非Server系列 Red Hat Enterprise edition 7及以上 CentOS 7 及以上 |
说明:
- 应用服务、数据库服务必须分离部署;
- 应用服务器、数据库服务器必须使用64位操作系统;
- 文件服务、全文检索必须分离部署;
在线3000-5000用户(2节点集群部署)
类别 | 配置 | 具体参数 |
---|---|---|
应用服务器 | 硬件 | CPU:2.3GHz以上,64位,三级缓存12M以上,64核以上 硬盘:SCSI/SAS,1T以上,建议本地做镜像,使用磁盘阵列 内存:128GB以上 |
数据库服务器 | RAM | MYQSL/SQLServer/Oracle:128G |
网络 | 硬件 | 局域网接入带宽> 1Gbps 数据中心网络和客户访问网络必须分开 |
操作系统 | OS | Windows Server 2012 Enterprise Edition及以上,不能是Windows 7旗舰版、Windows 10专业版等非Server系列 Red Hat Enterprise edition 7及以上 CentOS 7 及以上 |
说明:
- 所有服务必须使用64位操作系统及64位配套软件;
- 应用服务器、数据库服务器、全文检索服务器必须分离部署;
- 推荐使用数据库集群;
- 推荐使用硬件负载均衡F5等;
- 推荐使用LINUX操作系统;
- 建议使用备份软件进行数据、环境的备份;
- 建议机房配备UPS不间断电源;
- 建议使用监控软件对生产环境进行监控,建立预警机制;
虚拟内存页面文件/SWAP分区设置
-
Linux服务器
swap分区建议至少大于16G,执行命令free -g检查
-
Windows服务器
至少有一个分区上分页文件大小设置为系统管理的大小,该分区可用磁盘空间需要大于物理内存的3倍
网络环境检查
并发数 | 广域网接入互联网带宽(bps) | 局域网接入带宽(bps) |
---|---|---|
0-500并发 | >100M | >1G |
500-1000并发 | >100M | >1G |
1000-2000并发 | >200M | >1G |
2000-3000并发 | >400M | >1G |
3000-5000并发 | >500M | >1G |
注:带宽要求与上传、下载附件大小、音视频流量有密切关系,以上参数基于数据中心网络与用户访问网络分开进行推荐,仅做参考。 |
-
ping检查应用服务器、数据库服务器、文件服务器等服务器相互之间结果
正常情况举例如图
-
检查网卡速率,避免出现千兆网卡使用百兆网线或者自适应降为百兆网络
Windows服务器,网络和共享中心,千兆速度1.0 Gbps
Linux服务器,命令举例:ethtool em1,查询em1网口基本设置,千兆速率
Linux系统参数配置
- 修改Linux网络参数
1、在/etc/sysctl.conf文件末尾添加:
net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 1800 net.ipv4.tcp_window_scaling = 0 net.ipv4.tcp_sack = 0 net.ipv4.tcp_timestamps = 0 |
---|
2、然后执行命令重启网络服务:
service network restart |
---|
3、在 /etc/rc.d/rc.local文件末尾添加:
echo “30”>/proc/sys/net/ipv4/tcp_fin_timeout echo “1800”>/proc/sys/net/ipv4/tcp_keepalive_time echo “0”>/proc/sys/net/ipv4/tcp_window_scaling echo “0”>/proc/sys/net/ipv4/tcp_sack echo “0”>/proc/sys/net/ipv4/tcp_timestamps |
---|
- 修改Linux最大进程数最大文件打开数
vi /etc/security/limits.conf 编辑此文件添加以下内容# open files (-n) * soft nofile 65535 * hard nofile 65535 # max user processes (-u) * soft nproc 65535 * hard nproc 65535 |
---|
RedHat7/CentOS7本地yum配置+NFS共享存储配置
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum 源分为网络yum源和本地yum源。若服务器无法连接网络,则需要配置本地yum源。此操作需要操作系统对应版本的安装介质并将iso其中所有文件拷贝到服务器文件系统上,如拷贝到/cdrom,终端cd切换路径到目录/etc/yum.repos.d下,vi新建CentOS-Local.repo文件,文件内容如下。
[CentOS-Local]
name=CentOS-$releasever - Media
baseurl=file:///cdrom/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
以下案例中,192.168.2.105共享目录/oadata,192.168.2.106挂载105共享目录/oadata;
配置完本地yum源后,105服务器上进行nfs安装,命令如下:
yum install -y nfs-utils rpcbind #nfs安装命令
systemctl enable nfs #将nfs设置开机启动
systemctl enable rpcbind #将rpcbind设置开机启动
105服务器上,修改/etc/exports文件设置共享路径以及可以访问共享文件的ip地址,文件内容举例如下,/oadata/为共享目录,192.168.2.106为允许访问共享的ip地址。
[root@oa1 yum.repos.d]# vi /etc/exports
[root@oa1 yum.repos.d]# cat /etc/exports
/oadata/ 192.168.2.106(rw,sync,no_root_squash)
重启nfs服务,命令如下:
[root@oa1 yum.repos.d]# systemctl restart nfs #重启nfs服务
[root@oa1 yum.repos.d]# systemctl restart rpcbind #重启rpcbind服务
[root@oa1 yum.repos.d]# showmount -e 192.168.2.105 #检查nfs的配置信息
Export list for 192.168.2.105:
/oadata 192.168.2.106
[root@oa1 ~]# firewall-cmd –add-service=nfs –permanent –zone=public
success
[root@oa1 ~]# firewall-cmd –add-service=mountd –permanent –zone=public
success
[root@oa1 ~]# firewall-cmd –add-service=rpc-bind –permanent –zone=public
success
[root@oa1 ~]# firewall-cmd –reload #重新载入配置,使其生效
success
106服务器上挂载共享目录,需要创建和105一样的/oadata目录,参考命令如下:
[root@oa2 ~]# yum -y install nfs-utils #安装nfs
[root@oa2 ~]# mkdir /oadata #创建目录
[root@oa2 ~]# mount -t nfs -o sync,noac 192.168.2.105:/oadata /oadata #目录挂载
[root@oa2 ~]# df -h #查看挂载
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 37G 16G 22G 43% /
devtmpfs 965M 0 965M 0% /dev
tmpfs 981M 0 981M 0% /dev/shm
tmpfs 981M 11M 971M 2% /run
192.168.2.105:/oadata 37G 23G 15G 60% /oadata
106服务器上挂载完成后,配置开机自动挂载共享,参考方法如下:
# 编辑文件,下面红色的部分为添加的内容
[root@oa2 ~]# vi /etc/fstab
/dev/mapper/centos-root / xfs defaults 0 0
UUID=f3d331af-8683-4246-87cd-278be84bbb90 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
192.168.2.105:/oadata /oadata/ nfs sync,noac 0 0
完成后重启106服务器查看自动挂载是否成功。
2.2 - 集群部署
前言
本手册对协同管理系统的集群部署相关事宜进行说明。如对手册存在疑问,可与致远互联的客户服务人员联系。
系统集群配置
概要说明
支持集群部署
- 集群部署需要单点部署的支持,请先根据单点部署,部署好每台服务器
- 集群结构支持多节点、水平集群,不支持垂直集群(多节点部署在同一服务器);
- 集群部署需要依赖共享存储,文件存储或oss,本文只配置nfs共享文件存储
- 集群全文搜索依赖ElasticSearch
- 集群支持Redis缓存
- 集群支持MySQL、Oracle、PostgreSql、达梦、人大金仓数据库;
- 集群支持需要Nginx提供web负载均衡服务;
- 集群部署结构下,各应用版本要求如下
服务 | 版本 |
---|---|
Web服务 | Nginx 1.20.1及以上版本 建议使用对应软件的最新版本,以减少安全漏洞 |
Redis | 5以上 |
ElasticSearch | 7.12-7.15 |
MySQL | 5.7及以上版本 |
Oracle | 12c及以上版本 |
postgresql | 13及以上版本 |
达梦 | 8及以上版本 |
人大金仓 | 8及以上版本 |
网络拓扑
集群部署的网络拓扑示意图如下:
集群配置
- 集群配置主要有以下步骤:
- 应用集群配置:
- 集群中所有服务器的CPU,内存请保持一致,应用的目录结构保持一致,application.yaml配置文件的配置信息保持一致
- Web服务配置:
- Web服务为集群环境中支持Web访问及承担负载均衡的服务。 v8使用nginx作为web访问和负载均衡服务,需要nginx的web目录挂载到所有应用服务器,nginx不与服务同节点 避免80端口冲突
- 集群配置及启动时需注意事项:
- 所有服务器的操作系统时间要求相差不超过3秒。
- 所有服务器的IP地址必须在相同网段,即IP地址前3段需一致。
- 涉及目录的配置项,物理存储位置必须一致。
- 所有服务器的BUG补丁包及月度修复包版本必须一致(以主服务为准)。即更新补丁时需将集群中所有节点一并更新。
示例主机说明:
ip | 应用 |
---|---|
10.3.9.11 | nginx |
10.3.9.193 | 主节点 |
10.3.9.194 | 从节点 |
公共资源目录配置
集群环境下,公共资源配置会影响元数据、流程表单发布、文件上传等应用的使用,所有应用服务器都需要共享一个目录,请务必引起重视!!!
Nfs安装请执行yum安装yum install -y nfs-utils,本文不提供其他安装方式
挂载两种方式:
- tomcat集群中的一台作为主节点,其他节点挂载主节点
- 把nfs服务独立到单独的一台文件服务器,然后tomcat集群挂载独立节点(推荐)
- 公共资源目录配置主要为以下内容:
需共享挂载目录 | 示例路径 |
---|---|
元数据目录和上传文件目录 seeyon.file.nfs.root-path (可通过S1配置或直接修改application.yaml配置文件) | /data/A8C/base/upload |
表单发布前后端源码目录 | /data/A8C/base/autocode |
nginx前端文件挂载到应用本地static目录 | /data/A8C/ApacheJetspeed/webapps/seeyon/static |
后端编译依赖目录 | /data/A8C/maven-dependencies |
前端编译依赖目录 | /data/A8C/frontend-dependencies |
-
seeyon.file.nfs.root-path: /data/A8C/base/upload 元数据目录和上传文件目录
目录可以自己修改结构,所有应用集群服务器需要通过nfs服务挂载到相同的目录下
示例服务器10.3.9.193、10.3.9.194两台,挂载情况如下,多台挂载一样,示例为共享10.3.9.193目录,挂载至10.3.9.194节点。
mount -t nfs 10.3.9.193:/data/A8C/base/upload /data/A8C/base/upload
以下目录配置不用修改配置文件,但需要通过共享存储挂载。
示例环境部署在/data/A8C,请根据实际情况修改对应路径。
-
表单发布前后端源码目录
mount -t nfs 10.3.9.193:/data/A8C/base/autocode /data/A8C/base/autocode
-
前端挂载目录,挂载nginx对应目录(前端文件放nginx服务器)
mount -t nfs 10.3.9.11:/mnt/nfs/v8/frontend/tomcat /data/A8C/ApacheJetspeed/webapps/seeyon/static
-
后端编译依赖目录( /data/A8C/maven-dependencies需共享)
mount -t nfs 10.3.9.193/data/repository /data/A8C/maven-dependencies
- 前端编译依赖目录(/data/A8C/frontend-dependencies需共享)
mount -t nfs 10.3.9.193:/data/repository /data/A8C/frontend-dependencies
集群参数配置
添加如下配置(消息中心内存数据同步)
应用集群配置
前端web反向代理服务nginx的配置
nginx安装部署请参考致远 《致远 COP-A8C 协同运营平台 安装工具手册》
[root@devops-local /etc/nginx/conf.d]# cat tomcat.conf
前端静态文件目录要和后端配置(流程表单前端共享目录)配置共享
Nginx配置
在nginx.conf 文件http模块添加配置
Nginx启停
启动服务
使用应用启动脚本或在S1服务管理启动应用,观察启动日志
显示启动成功,即部署完成,可通过浏览器访问应用
依赖组件安装
redis安装
参照【腾讯文档】Redis安装部署手册
Redis安装部署手册
注意事项
- 单台redis或者多台redis配置,只能二选一,暂不支持redis的哨兵模式
- V8集群各个节点都需要配置redis,并且各节点配置内容需要一致。
Elasticsearch安装
参照【腾讯文档】Elasticsearch安装部署手册
Elasticsearch安装部署手册
Mysql安装
详见《数据库部署》说明
2.3 - 数据库部署
前言
本手册对数据库部署准备相关事宜进行说明。
如对本手册中相关内容存在疑问,请与致远互联的客户服务人员联系。
数据库部署配置说明
- 必须安装64位数据库;
- 数据库名称请以英文字母开头,不建议使用数字或其他符号作为数据库名称的首字符;
- 数据库名称中请不要使用特殊符号,如#、$、@、小数点等特殊字符;
- 数据库的密码不能小于6位,建议字符数字混合;
- 在安装协同管理软件产品前,请先完成数据库服务的安装及配置;
- 数据库服务器硬件要求参考《服务器环境准备》手册中并发在线对应硬件配置要求;
- 并发用户数小于200,单台服务器集中部署协同服务、数据库服务、Nginx服务场景下,服务器配置参考:
类别 | 配置 | 具体参数 |
---|---|---|
应用服务器 | 硬件 | CPU:2.3GHz以上,64位,三级缓存10M以上,16核以上 硬盘:SCSI/SAS硬盘,320G以上 内存**:48G**以上 |
网络 | 硬件 | 局域网接入带宽> 1Gbps |
操作系统 | OS | 64位 Windows Server 2008 Enterprise Edition及以上,不能是Windows 7旗舰版、Windows 10专业版等非Server系列 Red Hat Enterprise edition 7及以上 CentOS 7及以上 |
注:除非数据库版本特殊要求,服务器要求参考如上表格。
数据库分类 | 版本要求(64位) |
---|---|
MySQL | 推荐MySQL5.7及以上,要求InnoDB引擎 |
Oracle | Oracle 19c及以上 |
PostgreSQL | PostgreSQL 13.3 |
SQLServer | SQLServer 2012及以上 |
MySQL数据库安装及参数配置要点
注意事项
MySQL服务要求主要有以下几点(可以在MySQL配置文件中对其进行设置):
-
MySQL的配置文件
Windows下为my.ini文件,Linux系统为my.cnf文件。
-
数据引擎要求为InnoDB
检查MySQL配置文件的[mysqld]项中default-storage-engine值,检查是否为InnoDB,若不是则调整为InnoDB;
-
字符集要求为utf8mb4
检查MySQL配置文件的[client]、[mysql]项中default-character-set值,以及[mysqld]项中character-set-server值是否为utf8mb4,若不是则调整为utf8mb4;
若MySQL配置文件不存在[client]、[mysql]项,请在配置文件最开始添加,如图:
请使用mysql5.7或以上版本。
-
要求不区分表/字段大小写
检查MySQL配置文件[mysqld]项中是否包含lower_case_table_names=1,不包含则添加,包含则保证其值为1;
-
数据库事务隔离级别
查MySQL配置文件[mysqld]项中是否包含transaction_isolation = READ-COMMITTED,不包含则添加;
Windows下安装MySQL8.0
- 如果选用Windows操作系统,选用MySQL8.0版本数据库,请更新Windows Server 2012 R2(或者更高版本微软操作系统)的所有补丁,重启服务器以后再部署Microsoft Visual C++ 2015-2019组件。
1)下载最新版本MySQL Community Server数据库zip文件,以8.0.26版本举例:
https://dev.mysql.com/downloads/mysql/
解压下载的mysql-8.0.26-winx64.zip文件至E盘,解压后目录结构如图:
2)新建E:\mysql-8.0.26-winx64\my.ini文件,文件内容如下:
[client]
# 不推荐使用默认端口3306
port=3308
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
# 不推荐使用默认端口3306
port=3308
# 绝对路径依据实际情况修改
basedir=“E:/mysql-8.0.26-winx64/”
datadir=“E:/mysql-8.0.26-winx64/data/”
# tmpdir=“E:/mysql-8.0.26-winx64/data/temp/”
# General and Slow logging.
log-output=FILE
general-log=0
general_log_file=“seeyon-mysql-8.0-general.log”
slow-query-log=1
slow_query_log_file=“seeyon-mysql-8.0-slow.log”
long_query_time=1
# Error Logging.
log-error=“seeyon-mysql-8.0.err”
# default_authentication_plugin=caching_sha2_password
default_authentication_plugin=mysql_native_password
default-storage-engine=INNODB
character-set-server=utf8mb4
max_connections=2000
max_connect_errors=500
back_log=1600
transaction_isolation=READ-COMMITTED
max_allowed_packet=64M
default-time-zone=’+8:00'
log_timestamps=system
lower_case_table_names=1
table_open_cache=4000
tmp_table_size=512M
key_buffer_size=512M
sort_buffer_size =8M
join_buffer_size = 8M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=16M
innodb_buffer_pool_size=24G
innodb_log_file_size=1G
innodb_autoextend_increment=64
innodb_buffer_pool_instances=8
innodb_open_files=2000
innodb_file_per_table=1
innodb_io_capacity = 3000
innodb_io_capacity_max = 6000
log-bin = mysql-bin
binlog_format = ROW
binlog_cache_size = 1048576
binlog_checksum = NONE
binlog_row_image = full
binlog_rows_query_log_events = ON
binlog_stmt_cache_size = 32768
expire_logs_days = 3
sync_binlog = 1
interactive_timeout = 600
wait_timeout = 600
connect_timeout = 10
innodb_lock_wait_timeout = 10
注意:如果使用记事本编辑保存,请另存为,设置编码ANSI。
3)开始菜单,找到命令提示符,以管理员身份运行,执行命令cd /d E:\mysql-8.0.26-winx64\bin切换路径
初始化数据库,执行命令mysqld –initialize –console,记住生成的随机密码
注册Windows服务,执行命令
mysqld.exe –install MySQL8.0 –defaults-file=“E:\mysql-8.0.26-winx64\my.ini”
成功则提示Service successfully installed.
4)创建E:\mysql-8.0.26-winx64\data\temp目录,修改my.ini文件解除注释(去掉行首的#)
tmpdir=“E:/mysql-8.0.26-winx64/data/temp/”
5)启动MySQL8.0服务
6)使用mysql命令行登录数据库修改root密码(需要初始化数据库生成的随机密码,以下举例供参考,以实际密码为准)
cd /d E:\mysql-8.0.26-winx64\bin
mysql -uroot -P3308 -p3gNvcqvXvC/p
root新密码设置为newpwd654321
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ’newpwd654321’;
flush privileges;
创建seeyon账号设置密码为oapwd654321,允许协同服务器10.3.4.239远程访问数据库
create user ‘seeyon’@‘10.3.4.239’ identified by ‘oapwd654321’;
flush privileges;
grant all privileges on *.* to ‘seeyon’@‘10.3.4.239’;
flush privileges;
如果允许所有服务器通过seeyon账号远程访问数据库,则执行
create user ‘seeyon’@’%’ identified by ‘oapwd654321’;
flush privileges;
grant all privileges on *.* to ‘seeyon’@’%’;
flush privileges;
7)创建V8X数据库命令示例:CREATE DATABASE V8X DEFAULT CHARACTER SET UTF8MB4;
8)操作系统防火墙中添加数据库端口(本例中是3308)允许访问策略。
Linux下安装MySQL8.0
说明:本文档是在CentOS7.6操作系统上安装MySQL8.0.26,适用于但不限于以下操作系统Redhat7.x、CentOS7.x。
https://dev.mysql.com/doc/refman/8.0/en/binary-installation.html
软件下载,以mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz举例。
https://dev.mysql.com/downloads/mysql/
Select Operating System:
Linux - Generic
Select OS Version:
Linux - Generic (glibc 2.12) (x86, 64-bit)
1)环境检查
- 检查操作系统版本,64位CentOS7
[root@localhost ~]# cat /etc/system-release
CentOS Linux release 7.6.1810 (Core)
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@localhost ~]# getconf LONG_BIT
64
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
- 检查glibc版本,至少为2.12版本
[root@localhost ~]# ldd –version
ldd (GNU libc) 2.17
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
由 Roland McGrath 和 Ulrich Drepper 编写。
- 安装依赖yum -y install libaio perl perl-devel
MySQL has a dependency on the libaio library. Data directory initialization and subsequent server startup steps fail if this library is not installed locally. If necessary, install it using the appropriate package manager. For example, on Yum-based systems:
- 卸载已安装的MySQL、mariadb
注意:操作之前一定得到确认,是否数据库在用,是否存在数据
rpm -qa | grep -i mysql
systemctl stop mariadb
rpm -qa | grep -i mariadb
卸载查询结果出现的包,举例:
rpm -e –nodeps mariadb-5.5.52-1.el7.x86_64
rpm -e –nodeps mariadb-server-5.5.52-1.el7.x86_64
rpm -e –nodeps mariadb-libs-5.5.52-1.el7.x86_64
rpm -e –nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
You should also check for configuration files such as /etc/my.cnf or the /etc/mysql directory and delete them.
- 检查/etc/my.cnf文件以及/etc/mysql目录是否已存在,备份后删除
注意:操作之前一定得到确认,是否数据库在用,是否存在数据
- 检查可用内存,swap分区、磁盘空间(后续步骤将数据目录配置在磁盘空间较大的分区或者挂载)
[root@localhost app]# free -g
total used free shared buff/cache available
Mem: 4 0 3 0 0 4
Swap: 1 0 1
[root@localhost app]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 37G 6.4G 31G 18% /
devtmpfs devtmpfs 2.4G 0 2.4G 0% /dev
tmpfs tmpfs 2.4G 0 2.4G 0% /dev/shm
tmpfs tmpfs 2.4G 12M 2.4G 1% /run
tmpfs tmpfs 2.4G 0 2.4G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 146M 869M 15% /boot
tmpfs tmpfs 478M 0 478M 0% /run/user/0
2)安装配置
- 创建/mysql/data目录,上传mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz至/mysql目录下
mkdir -p /mysql/data
- 创建组以及用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
查看用户
id mysql
- 解压tar.xz包至/usr/local目录下
cd /usr/local/
tar -xvf /mysql/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.26-linux-glibc2.12-x86_64 mysql
chown -R mysql:mysql /mysql
chown -R mysql:mysql /usr/local/mysql
- 创建/etc/my.cnf文件,内容如下
# For advice on how to change settings please see
# https://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html
[client]
# 不推荐使用默认端口3306
port=3308
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
# 不推荐使用默认端口3306
port=3308
# 绝对路径依据实际情况修改
basedir=/usr/local/mysql/
datadir=/mysql/data/
# tmpdir=/mysql/data/temp/
socket=/tmp/mysql.sock
pid-file=/mysql/data/seeyon.mysql.pid
# General and Slow logging.
log-output=FILE
general-log=0
general_log_file=/mysql/data/seeyon-mysql-8.0-general.log
slow-query-log=1
slow_query_log_file=/mysql/data/seeyon-mysql-8.0-slow.log
long_query_time=1
# Error Logging.
log-error=/mysql/data/seeyon-mysql-8.0.err
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password
# default_authentication_plugin=caching_sha2_password
default_authentication_plugin=mysql_native_password
default-storage-engine=INNODB
character-set-server=utf8mb4
max_connections=2000
max_connect_errors=500
back_log=1600
transaction_isolation=READ-COMMITTED
max_allowed_packet=64M
default-time-zone=’+8:00’
log_timestamps=system
lower_case_table_names=1
table_open_cache=2000
tmp_table_size=512M
key_buffer_size=512M
sort_buffer_size =8M
join_buffer_size = 8M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=16M
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size=24G
#
# Remove the leading “# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It’s default setting is log_bin=binlog
# disable_log_bin
#
innodb_log_file_size=1G
innodb_autoextend_increment=64
innodb_buffer_pool_instances=8
innodb_open_files=2000
innodb_file_per_table=1
innodb_io_capacity=3000
innodb_io_capacity_max=6000
log-bin = mysql-bin
binlog_format = ROW
binlog_cache_size = 1048576
binlog_checksum = NONE
binlog_row_image = full
binlog_rows_query_log_events = ON
binlog_stmt_cache_size = 32768
expire_logs_days = 3
sync_binlog = 1
interactive_timeout = 600
wait_timeout = 600
connect_timeout = 10
innodb_lock_wait_timeout = 10
- 初始化数据库,记住生成的随机密码,本例中随机密码为nyLoYtdd2D.E
chown mysql:mysql /etc/my.cnf
cd /usr/local/mysql/bin
./mysqld –defaults-file=/etc/my.cnf –basedir=/usr/local/mysql/ –datadir=/mysql/data/ –user=mysql –initialize
cat /mysql/data/seeyon-mysql-8.0.err
- 配置mysqld服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld
编辑其中最开始的
basedir=
datadir=
修改为
basedir=/usr/local/mysql/
datadir=/mysql/data/
保存
- 启动mysqld服务
[root@localhost bin]# service mysqld start
Starting MySQL… SUCCESS!
[root@localhost bin]#
- 使用mysql命令行登录数据库修改root密码
需要初始化数据库生成的随机密码,以下举例供参考,以实际密码为准
cd /usr/local/mysql/bin/
./mysql -uroot -P3308 -pnyLoYtdd2D.E
root新密码设置为newpwd654321
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ’newpwd654321’;
flush privileges;
- 创建seeyon账号用于协同管理软件数据库安装
创建seeyon账号设置密码为oapwd654321,允许协同服务器10.3.4.239远程访问数据库
create user ‘seeyon’@‘10.3.4.239’ identified by ‘oapwd654321’;
flush privileges;
grant all privileges on *.* to ‘seeyon’@‘10.3.4.239’;
flush privileges;
如果允许所有服务器通过seeyon账号远程访问数据库,则执行
create user ‘seeyon’@’%’ identified by ‘oapwd654321’;
flush privileges;
grant all privileges on *.* to ‘seeyon’@’%’;
flush privileges;
- 创建V8X数据库用于协同管理软件数据库安装
CREATE DATABASE V8X DEFAULT CHARACTER SET UTF8MB4;
- 操作系统防火墙中添加数据库端口(本例中是3308)允许访问策略。
systemctl start firewalld
firewall-cmd –zone=public –add-port=3308/tcp –permanent
firewall-cmd –reload
firewall-cmd –list-all
- 数据库服务启动命令以及停止命令分别为
service mysqld start
service mysqld stop
参数调优
-
MySQL数据库参数调优,主要为配置文件中参数的调整;MySQL的配置文件在Windows下为my.ini文件,在Linux下为my.cnf文件。
-
修改MySQL事务隔离级别,在MySQL配置文件的[mysqld]段增加参数:
transaction-isolation = READ-COMMITTED
-
以下说明InnoDB引擎的在内存优化方面的两个重要参数
- innodb_buffer_pool_size:此参数主要为设置缓存InnoDB表的索引、数据、插入数据时的缓存大小。若MySQL为专用服务器,则此参数最大值可以设置为内存的70%~80%。此参数不会动态修改,在数据量较小的情况下,可以设置为数据大小+10%左右的值,如数据大小500M,则可以设置此值为550M;
- innodb_additional_mem_pool_size**:MySQL5.5或者以下版本需要设置此参数**。此参数为控制除索引、数据外的InnoDB内部目录的大小,通常设置256M,根据表数量的增加(协同在运行期间随表单量的增加,表数量会增加),适当增大。
-
参数配置中另一参数:max_connections为控制数据库连接数的参数,在调整协同应用配置器中数据库连接数时需要同步调整此参数。推荐max_connections=2000
-
在MySQL配置文件的[mysqld]段增加参数**:max_allowed_packet=64M**
-
MySQL大小写默认为敏感,在MySQL配置文件的[mysqld]段增加参数:lower_case_table_names=1
-
MySQL默认隔离级别为REPEATABLE-READ,在MySQL配置文件的[mysqld]段增加参数:transaction_isolation=READ-COMMITTED
其它配置
- MySQL 8系列,时区默认为美国时区,中国用户若要正常使用,需修改mysql配置文件,在[mysqld]段增加内容**:default-time-zone=’+8:00’**
- MySQL5.7或者以上版本,设置数据库日志时间匹配系统时区,在[mysqld]段增加内容:
log_timestamps=system
Oracle数据库安装及参数配置要点
数据库安装
- 若使用Oracle12c推荐安装12.2.0.1版本;
- Oracle 12.1.0.2数据库版本在进行流式批量更新操作LOB数据存在BUG,已收录于Oracle Bug 19703301
ORA-22275 “invalid lob locator specified” if fix for bug 14044260 present
https://support.oracle.com/knowledge/Oracle%20Database%20Products/2015052_1.html
-
协同管理软件要求Oracle数据库实例的字符集必须选择Unicode(AL32UTF8)编码方式,连接模式“专用服务器”。
-
Oracle10G及后续版本需调整参数aq_tm_processes为1,调整示例:
Sql> alter system set aq_tm_processes=1 scope=both; |
---|
- Oracle11GR2及后续版本需调整参数deferred_segment_creation为false,调整示例:
Sql> alter system set deferred_segment_creation=false scope=spfile; |
---|
- 创建数据库实例后,创建存储协同数据的表空间。参考SQL脚本(其中V8XSPACE为表空间名,红色示例内容可修改):
Sql> CREATE SMALLFILE TABLESPACE V8XSPACE DATAFILE ‘D:\V8XSPACE01.DBF’ SIZE 30720M AUTOEXTEND ON NEXT 200M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; |
---|
注:Oracle单个数据文件默认最大为32G,若数据量增长超过32G,需为表空间增加数据文件。参考SQL脚本:
Sql> alter tablespace V8XSPACE add datafile ‘D:\V8XSPACE02.DBF’ size 30720M AUTOEXTEND ON NEXT 200M MAXSIZE UNLIMITED; |
---|
- 新建协同数据库用户,参考SQL脚本:
Sql> CREATE USER V8XUSER PROFILE DEFAULT IDENTIFIED BY Seeyon123456 DEFAULT TABLESPACE V8XSPACE TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK ; Sql> GRANT CREATE VIEW,ALTER SESSION,CONNECT,RESOURCE,UNLIMITED TABLESPACE TO V38USER; |
---|
客户端安装
协同服务连接Oracle数据库,可选择在应用服务器上安装Oracle客户端。配置过程:
- 在Oracle客户端软件安装完成后,也可用netca命令打开配置窗口。
- 【服务名】协同用户所在的数据库的全局数据库名,点击【下一步】。
- 选择网络协议“TCP”,点击【下一步】。
- 【主机名】数据库服务器的IP地址,点击【下一步】。
- 进行连接测试,选择:是,进行测试,点击【下一步】。
- 如果连接不成功窗口,出现以下窗口,可通过【更改登录】修改正确的用户名和密码,重新进行连接测试。
- 测试成功将显示“正在连接…测试成功”。
- 最后出现如下页面,点击【完成】,客户端配置结束。
参数配置
- Oracle数据库驱动配置
- 检查ApacheJetspeed/lib目录下Oracle数据库驱动,需要匹配Oracle数据库版本
- 移除不匹配的classes12.jar、ojdbc6.jar、ojdbc8.jar、ojdbc14.jar
- 放入匹配Oracle数据库版本号的ojdbc6.jar、ojdbc8.jar、ucp.jar、oraclepki.jar、osdt_cert.jar、osdt_core.jar、ons.jar、simplefan.jar
- 匹配规则:
- Oracle Database 10g、11g数据库,驱动文件使用11.2.0.4.0版本的ojdbc6.jar
- Oracle Database 12c数据库,驱动文件使用12.2.0.1.0版本的
- ojdbc8.jar、ucp.jar、oraclepki.jar、osdt_cert.jar、osdt_core.jar、ons.jar、simplefan.jar
- Oracle Database 18c数据库,驱动文件使用18.3版本的
- ojdbc8.jar、ucp.jar、oraclepki.jar、osdt_cert.jar、osdt_core.jar、ons.jar、simplefan.jar
- Oracle Database 19c数据库,驱动文件使用19.3~19.10对应版本的
- ojdbc8.jar、ucp.jar、oraclepki.jar、osdt_cert.jar、osdt_core.jar、ons.jar、simplefan.jar
- Tomcat/lib下不可同时存放classes12.jar、ojdbc5.jar、ojdbc6.jar、ojdbc7.jar、ojdbc8.jar、ojdbc14.jar,仅保留匹配数据库版本的驱动文件。
- 检查ApacheJetspeed/lib目录下Oracle数据库驱动,需要匹配Oracle数据库版本
- 针对Oracle数据库12c以及以上版本,需在协同服务部署后的Tomcat/bin/ catalina.bat以及catalina.sh脚本的JAVA_OPTS中增加以下jvm参数
-Doracle.jdbc.useNio=false -Doracle.jdbc.javaNetNio=false |
---|
- 调整游标数(open_cursors)、进程数(process)
- 推荐dba管理数据库并完成参数配置优化
- 查看各参数:
sql> show parameter processes; sql> show parameter sessions; sql> show parameter open_cursors; |
---|
- 配置初始值参考:
sql> alter system set processes=1000 scope=spfile; sql> alter system set open_cursors=1000 scope=spfile; |
---|
重启数据库服务,并重新检查游标数、连接数和进程数生效情况。
sql> shutdown immediate 正常停止服务以后再启动 sql> startup |
---|
参数调整指标参考
并发 | 物理 内存 | Process | sessions | SGA(MAX) | PGA | 系统临时 表空间TEMP |
---|---|---|---|---|---|---|
200以下 | 8G+ | 150 | 170 | 4.4G+ | 800M-2G | 6G |
200-500 | 16G+ | 300 | 335 | 8.8G+ | 2G-3G | 8G+ |
500-1000 | 32G+ | 800 | 885 | 16G+ | 3G-4G | 10G+ |
1000-2000 | 48G+ | 1000 | 1105 | 30G+ | 7G-8G | 20G+ |
2000-3000 | 64G+ | 1500 | 1655 | 40G+ | 10G-20G | 30G+ |
说明:
- 8G+ 表示8G或者8G以上;
- SGA自动调整参数有: DB_*K_CACHE_SIZE、SHARED_POOL_SIZE、LARGE_POOL_SIZE和JAVA_POOL_SIZE。oracle9i在32位操作系统中最大可管理1.7G内存.oracle10G在32位操作系统最大可管理2.5G;
- PGA约为每个用户约占用10%的物理内存;PGA总和约为物理内存的(16%-40%);
- SGA_target = 物理服务器内存*(55%-75%);
- sessions=(1.1*process+5)。
- SGA自动调整参数有: DB_*K_CACHE_SIZE、SHARED_POOL_SIZE、LARGE_POOL_SIZE和JAVA_POOL_SIZE。oracle9i在32位操作系统中最大可管理1.7G内存.oracle10G在32位操作系统最大可管理2.5G;
PostgreSQL数据库安装及参数配置要点
安装说明
- 如果选用Windows操作系统,选用PostgreSQL数据库,请更新Windows Server 2012 R2(或者更高版本微软操作系统)的所有补丁,重启服务器以后再部署Microsoft Visual C++ 2015-2019组件。
- 如果选用RedHat6/CentOS6操作系统,选用产品PostgreSQL数据库,请升级glibc版本至2.17再进行协同管理系统安装部署。
- 如果选用Ubuntu 22.04.2 LTS操作系统,选用A6产品PostgreSQL数据库,请提前安装中文语言包。安装命令参考如下:
sudo apt install language-pack-zh-hans
PostgreSQL安装后Windows自定义安装目录,Linux在用户选择的自定义文件夹中,如/usr/local/pgsql13.3。
默认安装的PostgreSQL服务信息如下:
数据库名:seeyon
用户名:postgres
密码:postgres
安装时,可以在数据库设置面板设置密码,安装后将自动修改。
安装后也可以在PostgreSQL数据库的系统库(postgres)中执行以下sql对预置用户的密码进行修改:alter user postgres with password ‘新的密码’;
启动/停止说明
- Windows下产品安装后将注册SeeyonPostgreSQL13.3服务,可以通过此服务项启动/停止,如图:
- Linux下可以使用pgsql13.3/bin下的zz_start.sh(启动)、zz_shutdown.sh(停止)。
远程连接配置
PostgreSQL安装后默认仅允许本地连接,若需远程连接,则需对PostgreSQL的配置文件做如下修改:
- 修改【PostgreSQL主目录】\data\pg_hba.conf文件,修改或者增加如下内容:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 10.3.4.1/24 md5
#注意上面那一行10.3.4.1/24是增加的,表示允许10.3.4.*网段的任意机器访问,可以调整。
- 修改【PostgreSQL主目录】\data\postgresql.conf:
listen_addresses = ‘*’
配置文件修改后,重启数据库服务以使配置文件生效,即可允许PostgreSQL远程连接。
参数调优
PostgreSQL配置参数位于【PostgreSQL主目录】\data\postgresql.conf文件中。对于性能优化,建议调整shared_buffers的值,取消此参数行首的注释符号#。
若配置文件中无此参数,则追加此参数。建议此值设置为4G或者以上:
shared_buffers = 16GB
最大连接数建议设置为2000:
max_connections = 2000
temp_buffers = 16MB
work_mem = 16MB
maintenance_work_mem = 512MB
wal_buffers = 16MB
max_wal_size = 20GB
min_wal_size = 5GB
checkpoint_completion_target = 0.9
wal_keep_size = 10GB
effective_cache_size = 24GB
log_timezone = ‘Asia/Shanghai’
timezone = ‘Asia/Shanghai’
idle_in_transaction_session_timeout = 180000
# 开启日志基础设置
log_destination = ‘stderr’
logging_collector = on
log_directory = ’log’
log_filename = ‘postgresql-%Y-%m-%d_%H%M%S.log’
log_rotation_age = 1d
log_rotation_size = 100MB
log_min_messages = info
# 记录执行慢的SQL
# 慢查询阈值,查询时间超过阈值被定义为慢查询,单位毫秒
log_min_duration_statement = 1000
log_checkpoints = on
log_connections = on
log_disconnections = on
log_duration = on
log_line_prefix = ‘%m’
# 监控数据库中长时间的锁
log_lock_waits = on
# 记录DDL操作
log_statement = ‘ddl’
SQL Server数据库安装及参数配置要点
数据库安装
- Sqlserver数据库按服务器方式安装,选择“服务器组件、工具、联机丛书和示例(C)”。
- 服务账户选择:使用内置系统账户,本地系统。
- 身份验证模式选择: 混合模式(Windows身份验证和SQL Server 身份验证)。
- SA用户的密码必须设置:
参数配置
- 新建数据库,数据库排序规则选择:Chinese_PRC_90_CI_AI
- 推荐恢复模式设置为简单,避免数据库日志文件增长过大增长过快的问题;但是注意此设置导致数据库无法自动从故障恢复到最近可用时间点,可以配合sqlserver代理服务设置数据库每天定时备份,以此保证数据可从故障恢复(最近一次备份)
- 系统数据库tempdb数据库文件初始大小在1024M以上,自动增长增量设置64M;
- 协同数据库的数据文件、日志文件设置自动增长,增量为固定值(比如64M)不能是百分比;文件存储路径所在磁盘分区建议保留10G左右磁盘空间被其它文件占用,若出现日志文件耗尽磁盘空间可以剪切这部分文件,做日志收缩处理;
-
将协同数据库的READ_COMMITTED_SNAPSHOT参数开启
无用户连接协同数据库的情况下,在master数据库中执行以下SQL:
ALTER DATABASE 数据库名称 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
ALTER DATABASE 数据库名称 SET READ_COMMITTED_SNAPSHOT ON;
ALTER DATABASE 数据库名称 SET MULTI_USER;
检查设置是否生效:查出来的值1为开启生效,0为未开启。
select is_read_committed_snapshot_on from sys.databases where name=‘数据库名称’;
-
数据库最大服务器内存
如果SQLserver数据库和协同服务集中部署,必须设置数据库使用的最大内存:
最大内存 = 服务器物理内存*60% - 其它各项服务JVM配置内存总和
以下截图中4096为修改参考,具体值根据以上公式计算
-
数据库索引碎片处理
SQL Server Management Studio (SSMS)连接数据库以后,展开数据库,展开ctp_affair表的索引,右键某条索引属性可查看其碎片;索引碎片比例要求小于60%,若索引碎片大多超过90%,需要备份数据库之后重建整个数据库所有索引:索引右键重新生成或者执行重建索引存储过程。存储过程sql如下:
IF OBJECT_ID(‘REBUILD_ALL_INDEX_FOR_MSSQL’) IS NOT NULL DROP PROC REBUILD_ALL_INDEX_FOR_MSSQL;
go
CREATE PROCEDURE [dbo].[REBUILD_ALL_INDEX_FOR_MSSQL]
AS
DECLARE @tablename varchar(100);
DECLARE @indexname varchar(300);
BEGIN
print ‘REBUILD_ALL_INDEX_FOR_MSSQL - 20190427.1’
print ‘Challenge Your Won, Challengy Won’
print ’ '
declare _table cursor for select name from sysobjects where xtype=‘U’ order by name
OPEN _table
fetch next from _table into @tablename
while (@@fetch_status=0)
begin
declare _index cursor for select i.name from sysindexes i JOIN sysobjects c ON i.id = c.id WHERE i.indid NOT IN ( 0, 255 ) and i.root is not null AND c.name = @tablename ORDER BY i.name
open _index
fetch next from _index into @indexname
while (@@fetch_status=0)
begin
print convert(varchar(20),getdate(),120)+’ exec -> ALTER INDEX ‘+@indexname+’ on ‘+@tablename+’ REBUILD’
exec(‘ALTER INDEX ‘+@indexname+’ on ‘+@tablename+’ REBUILD’)
print convert(varchar(20),getdate(),120)
print ’ '
fetch next from _index into @indexname
end
close _index
deallocate _index
fetch next from _table into @tablename
end
close _table
deallocate _table
END
go
EXEC [dbo].[REBUILD_ALL_INDEX_FOR_MSSQL];
go
-
数据库日志收缩
SQL Server Management Studio (SSMS)连接数据库以后,数据库属性,日志文件占用磁盘空间很大,如50G或者以上,需要进行日志收缩。
1、停止V5各项服务,备份数据库,重启数据库服务,这时不启动V5各项服务;
2、SQL Server Management Studio,数据库,V5数据库右键属性,选项,恢复模式,由完整更改为简单;
3、V5数据库右键,任务,收缩,文件,文件类型由数据更改为日志,点击确定进行日志收缩;
4、SQL Server Management Studio,数据库,V5数据库右键属性,选项,恢复模式,由简单更改为完整。
-
SQLServer的TCP/IP服务需启动、动态端口功能需关闭,图示:
启用动态端口将TCP Dynamic Ports设置为“0”,设置为空,则停用动态端口功能;
2.4 - Elasticsearch部署
概要说明
Elasticsearch 是一个实时的分布式搜索分析引擎,它能让你以前所未有的速度和规模去探索数据,被用作全文检索、结构化搜索、分析以及这三个功能的组合。
安装配置
操作系统要求
Linux系统
中间件版本要求
JDK版本:1.8 Elasticsearch版本:Elasticsearch 7.12~7.15
安装配置
安装
//下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.2-linux-x86_64.tar.gz
//解压
tar -zxvf elasticsearch-7.15.2-linux-x86_64.tar.gz -C /data
//创建运行用户
useradd elasticsearch
//更改文件夹名称
mv elasticsearch-7.15.2/ elasticsearch
//给目录授予权限
chown -R elasticsearch.elasticsearch /data/elasticsearch
//修改系统参数
cat >> /etc/security/limits.conf << EOF
# 配置进程 和线程数
* soft nproc 65536
* hard nproc 65536
#配置 文件句柄数
* soft nofile 65536
* hard nofile 65536
#配置 内存锁定交换
* soft memlock unlimited
* hard memlock unlimited
EOF
cat >> /etc/sysctl.conf << EOF
#禁用内存与磁盘交换
#vm.swappiness=1
#设置虚拟机内存大小
vm.max_map_count=262144
EOF
//加载
sysctl -p
//修改es使用内存
echo '-Xms8g' >> /data/elasticsearch/config/jvm.options
echo '-Xmx8g' >> /data/elasticsearch/config/jvm.options
//创建启动项
cat >> /etc/systemd/system/es.service << EOF
[Unit]
Description=es.service
After=network.target
[Service]
LimitNOFILE=infinity
User=elasticsearch
Group=elasticsearch
Type=forking
ExecStart=/data/elasticsearch/bin/elasticsearch -d
PrivateTmp=True
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start es.service
systemctl enable es.service
安装分词器
//安装ik分词器
cd /data/elasticsearch/plugins/
mkdir ik && cd ik
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.15.2/elasticsearch-analysis-ik-7.15.2.zip
unzip elasticsearch-analysis-ik-7.15.2.zip
rm -rf elasticsearch-analysis-ik-7.15.2.zip
—-配置说明—–»»>
cluster.name: testuser-es ---->>>集群名称,相同名称为一个集群
node.name: node-1 ---->>>节点名称,集群模式下每个节点名称唯一
node.master: true ---->>>当前节点是否可以被选举为master节点,是:true、否:false
node.data: true ---->>>当前节点是否用于存储数据,是:true、否:false
path.data: ---->>>索引数据存放的位置
path.logs: ---->>>日志文件存放的位置
bootstrap.memory_lock ---->>>>需求锁住物理内存,是:true、否:false
bootstrap.system_call_filter ---->>>>SecComp检测,是:true、否:false
network.host ---->>>>监听地址,用于访问该es
network.publish_host ---->>>>可设置成内网ip,用于集群内各机器间通信
http.port ---->>>>es对外提供的http端口,默认 9200
discovery.seed_hosts ---->>>>es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
cluster.initial_master_nodes ---->>>>es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
http.cors.enabled ---->>>>是否支持跨域,是:true,在使用head插件时需要此配置
http.cors.allow-origin ---->>>>"*" 表示支持所有域名
xpack.security.enabled: true ---->>>> 开启访问认证
xpack.security.transport.ssl.enabled: true ---->>>>开启ssl访问认证
单机配置
按需部署es模式(单机&集群),分别参照如下配置
注:按配置说明修改实际信息
# vim /opt/elasticsearch-7.15.2/config/elasticsearch.yml
cluster.name: es
node.name: node-1
path.data: /opt/elasticsearch-7.15.2/data
path.logs: /opt/elasticsearch-7.15.2/logs
discovery.seed_hosts: ["x.x.x.x"]
cluster.initial_master_nodes: ["node-1"]
network.host: x.x.x.x
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
集群配置
节点1
cat >> /data/elasticsearch/config/elasticsearch.yml << EOF
#配置es的集群名称
#集群名称
cluster.name: cluster-es
#节点名称,每个节点的名称不能重复
node.name: node-1
#ip 地址,每个节点的地址不能重复
network.host: 0.0.0.0
#是不是有资格主节点
http.port: 9200
# head 插件需要这打开这两个配置
http.cors.allow-origin: "*"
http.cors.enabled: true
http.max_content_length: 200mb
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["10.3.9.160","10.3.9.170","10.3.9.180"]
EOF
节点2
cat >> /data/elasticsearch/config/elasticsearch.yml << EOF
#配置es的集群名称
#集群名称
cluster.name: cluster-es
#节点名称,每个节点的名称不能重复
node.name: node-2
#ip 地址,每个节点的地址不能重复
network.host: 0.0.0.0
#是不是有资格主节点
http.port: 9200
# head 插件需要这打开这两个配置
http.cors.allow-origin: "*"
http.cors.enabled: true
http.max_content_length: 200mb
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["10.3.9.160","10.3.9.170","10.3.9.180"]
EOF
节点3
cat >> /data/elasticsearch/config/elasticsearch.yml << EOF
#配置es的集群名称
#集群名称
cluster.name: cluster-es
#节点名称,每个节点的名称不能重复
node.name: node-3
#ip 地址,每个节点的地址不能重复
network.host: 0.0.0.0
#是不是有资格主节点
http.port: 9200
# head 插件需要这打开这两个配置
http.cors.allow-origin: "*"
http.cors.enabled: true
http.max_content_length: 200mb
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["node-1","node-2","node-3"]
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["10.3.9.160","10.3.9.170","10.3.9.180"]
EOF
启动服务
在线人数 | 堆内存配置 |
---|---|
<500 | -Xmx16G |
500-1000 | -Xmx24G (推荐集群) |
1000-2000 | -Xmx32G(推荐集群) |
按需修改启动jvm大小
vim /opt/elasticsearch-7.15.2/config/jvm.options
-Xms24g
-Xmx24g
后台启动elasticsearch,三台机器上执行(elasticsearch用户)并设置密码
# su - elasticsearch
$ cd /opt/elasticsearch-7.15.2/bin/
$ ./elasticsearch -d
##设置密码
$ ./elasticsearch-setup-passwords interactive
[elasticsearch@hadoop163 elasticsearch-7.15.2]$ ./bin/elasticsearch-setup-passwords interactive
warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME
Future versions of Elasticsearch will require Java 11; your Java version from [/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64/jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y
Enter password for [elastic]:
Reenter password for [elastic]:
Enter password for [apm_system]:
Reenter password for [apm_system]:
Enter password for [kibana_system]:
Reenter password for [kibana_system]:
Enter password for [logstash_system]:
Reenter password for [logstash_system]:
Enter password for [beats_system]:
Reenter password for [beats_system]:
Enter password for [remote_monitoring_user]:
Reenter password for [remote_monitoring_user]:
Changed password for user [apm_system]
Changed password for user [kibana_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]
查看集群状态
curl http://ip:9200/_cat/nodes
如下返回代表部署成功
x.x.x.x 41 7 9 0.66 0.31 0.14 ****** * node-1
2.5 - Redis部署
概要说明
Redis服务用于缓存存放,可以采用官方提供的redis安装程序进行安装,亦可采用已有的redis服务。
安装配置
操作系统要求
Linux系统
在线人数 | 堆内存配置 |
---|---|
<500 | 8C16G |
500-1000 | 8C16G (推荐集群至少三主三从) |
1000-2000 | 16C32G(推荐集群至少三主三从) |
版本要求
redis 5.x及以上
安装
安装所需软件
yum install -y gcc-c++
下载并安装redis
mkdir /data
wget http://download.redis.io/releases/redis-5.0.10.tar.gz -O /data/redis-5.0.10.tar.gz
tar -zxvf redis-5.0.10.tar.gz -C /data/
cd /data/redis-5.0.10
make
#如果报错“make MALLOC=libc” 使用make MALLOC=libc
make install
mv /data/redis-5.0.10 /data/redis
单机配置redis
修改配置文件
vi /data/redis/redis.conf
设置以后台进程方式启动
daemonize yes
设置访问ip
# 调整redis的访问ip地址,将bind 127.0.0.1调整为实际ip
bind 实际ip
设置访问端口
# 调整redis的访问端口(视情况定是否调整),需同步调整协同中配置的redis端口
port 6379
设置连接密码
# 增加参数requirepass,设置redis的连接密码,密码为明文设置
requirepass 实际密码
性能调优
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视为成功)。
集群配置redis
redis单机配置调整为集群配置
配置文件最后添加
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
复制redis配置和安装程序到各节点指定路径,如复用服务器需调整配置中端口值避免端口冲突
scp -r /data/redis root@ip1:/
scp -r /data/redis root@ip2:/
scp -r /data/redis root@ip3:/
scp -r /data/redis root@ip4:/
scp -r /data/redis root@ip5:/
scp -r /data/redis root@ip6:/
在每个Redis实例的目录下,使用以下命令启动Redis服务器
/data/redis/src/redis-server /data/redis/redis.conf
创建redis集群,在任意一个节点上均可以创建(-a 指定密码)验证Redis集群是否正常工作,使用如下命令执行验证
data/redis/src/redis-cli -a xxxxxx--cluster create \
--cluster-replicas 0 \
ip1:6379 \
ip3:6379 \
ip5:6379
/data/redis/src/redis-cli -a xxxxxx --cluster add-node ip2:6379 ip1:6379 --cluster-slave
/data/redis/src/redis-cli -a xxxxxx --cluster add-node ip4:6379 ip3:6379 --cluster-slave
/data/redis/src/redis-cli -a xxxxxx --cluster add-node ip6:6379 ip5:6379 --cluster-slave
检查集群状态 connected 集群主从是否正常
/data/redis/src/redis-cli -c -p 6379 -a xxxxxx cluster nodes
-—–自此redis安装完成——
2.6 - 信创中间件部署
前言
本手册对协同管理系统的单体以及集群部署相关事宜进行说明。如对手册存在疑问,可与致远互联的客户服务人员联系。
数据库安装配置
达梦安装配置
1、安装前设置
mkdir dm(可以自命名)目录,用于挂载达梦安装包iso文件。
使用mount dm8_setup_arm64_ent_8.1.1.74_20200420.iso dm -o loop(目录根据实际情况修改),进入dm目录,挂载后目录结构如下:
使用./DMInstall.bin启动安装程序(名称根据实际情况修改)。
2、安装数据库服务
启动后如下图
前期选项默认即可,Key文件这一步根据实际情况选择。
安装目录根据实际情况可进行修改。
等待安装即可,安装结束后有如下图界面,可以勾选初始化数据库用于创建一个数据库实例,也可以进入/opt/dmdbms/tool/(根据实际安装目录修改),启动dbca.sh,初始化目录。
3、初始化数据库服务
启动数据库配置助手后,创建数据库实例。
数据库目录需要记住,后文中调整数据库配置时,需要进入该目录。
实例名需要记住,后续会使用,安装完毕后注册到系统的服务名为DmServiceDMSERVER(红字部分根据实际情况修改,安装完毕后的界面也存在提示)
初始化数据库服务时,字符集需要选择UTF-8,并勾选“VARCHAR类型以字符为单位”。
启停参数:建议页大小32K、日志文件大小2048M。
4、数据库配置参数调整
数据库服务安装后需调整以下参数(dm.ini(位于创建数据库时,指定数据库目录/具体服务名)):
PK_WITH_CLUSTER=0 |
---|
5、数据库性能参数调整
数据库服务安装后,需调整以下参数提升性能(dm.ini,若参数未存在,可以添加):
内存相关参数 MAX_OS_MEMORY=80 #达梦占用系统内存百分比,建配置议80,剩余20%给系统使用 MEMORY_POOL=2000 #共享内存池大小,以M为单位。 共享内存池是由DM管理的内存 MEMORY_N_POOLS=20 #共享内存池个数, 配置MEMORY_POOL/200 MEMORY_MAGIC_CHECK=1 #是否开启对所有内存池的校验。建议保持1 BUFFER=32000 #系统缓冲区大小,以M为单位。推荐值:系统缓冲区大小为可用物理内存的 60%~80% MAX_BUFFER=32000 #同上,最大系统缓冲区大小 MEMORY_TARGET=0 #共享内存池在扩充到此大小以上后,空闲时收缩回此指定大小,以M为单位,有效值范围:32位系统0~2000,64位系统0~67108864,0表示不限制(默认配置0) RECYCLE=649(设置操作系统内存*0.04,例如:16384*0.04=649) # RECYCLE 缓冲区大小,以 M 为单位 CACHE_POOL_SIZE=1024 (64G以下配置1024,64G以上配置2048) # SQL 缓冲池大小,以 M 为单位。 BUFFER_POOLS=31 # BUFFER 系统分区数,每个 BUFFER 分区的大小为 BUFFER/BUFFER_POOLS。 RECYCLE_POOLS=19(默认值19,可设置为内存*0.00037,取整。最高不超过512) #RECYCLE 缓冲区分区数,每个 RECYCLE 分区的大小为 RECYCLE/RECYCLE_POOLS。 SORT_BUF_SIZE=50 (64G以下配置10,64G以上配置50) #原排序机制下, 排序缓存区最大值,以M为单位。有效值范围(1~2048) SORT_BUF_GLOBAL_SIZE=2000 #新排序机制下,排序全局内存使用上限,以 M为单位。有效值范围(10~4294967294) KEEP=64 #系统KEEP缓冲区大小,M为单位 HJ_BUF_SIZE=250 (64G以下配置250,64G以上配置512) #单个 HASH 连接操作符的数据总缓存大小,以 M为单位,必须小于 HJ_BUF_GLOBAL_SIZE。 HAGR_BUF_SIZE=250 (64G以下配置250,64G以上配置512) #单个 HAGR、DIST、集合操作、SPL2、NTTS2以及 HTAB 操作符的数据总缓存大小 HJ_BUF_GLOBAL_SIZE=(16G以上设置操作系统内存*0.0625,64G以上*0.15625) # HASH 连接操作符的数据总缓存大小,以 M 为单位 HAGR_BUF_GLOBAL_SIZE=(16G以上设置操作系统内存*0.0625,64G以上*0.15625) # HAGR、 DIST、集合操作、 SPL2、 NTTS2 以及HTAB 操作符的数据总缓存大小 SORT_FLAG=0 (64G以下配置0,64G以上配置1) #排序机制, 0: 原排序机制; 1:新排序机制 SORT_BLK_SIZE=1 #排序机制下,每个排序分片空间的大小,以 M为单位 RLOG_POOL_SIZE=1024 (64G以下配置1024,64G以上配置2048) #最大日志缓冲区大小(以 M 为单位)。 DICT_BUF_SIZE=50 #字典缓冲区大小,以 M 为单位 VM_POOL_TARGET=16384 # VM池目标大小(KB) SESS_POOL_TARGET=16384 #会话池目标大小(KB) VM_POOL_SIZE=256 # VM池大小(KB) SESS_POOL_SIZE=256 #会话池大小(KB) 线程相关参数 WORKER_THREADS=32 #工作线程数 TASK_THREADS=4 (64核以上配置16) #任务线程数 IO_THR_GROUPS=4 (8核以下配置2,64核以上配置8) # Io线程组的数量(仅限非Windows) WORK_THRD_STACK_SIZE=4096 #工作线程堆栈大小(KB) 数据库相关参数 USE_PLN_POOL=1 #查询计划复用模式,0:禁止;1:严格重用,2:解析重用,3:混合解析重用 ENABLE_MONITOR=0 #是否启用监视器,0:不启用,1:启用 SVR_LOG=0 # Sql日志系统是打开还是关闭。1:打开,0:关闭,2:使用开关和细节模式。3:使用非开关和简单模式。 TEMP_SIZE=1024 #临时文件大小(MB) TEMP_SPACE_LIMIT=102400 #临时空间限制,单位M,建议根据磁盘空间进行设置 MAX_SESSIONS=1500 #最大并发会话数 MAX_SESSION_STATEMENT=20000 #每个会话的最大语句句柄数 ENABLE_ENCRYPT=0 #通信加密模式,0:不加密;1:SSL加密;2:SSL身份验证,无等保要求保持为0 PK_WITH_CLUSTER=0 #带集群的主键默认标志,0:非集群;1:集群,建议保持不变 OLAP_FLAG=2 **#**启用联机分析处理,保持不变 VIEW_PULLUP_FLAG=1 **#**是否对视图进行上拉优化,把视图转换为其原始定义,消除视图,建议位1 OPTIMIZER_MODE=1 #DM 优化器的模式, 0:老优化器模式; 1: 新优化器模式,建议保持1 ADAPTIVE_NPLN_FLAG=0 #是否启用自适应计划机制,建议设置为0 COMM_TRACE=0 #是否记录通信的警告信息 DBLINK_OPT_FLAG=509 #优化dblink查询标志 |
---|
6、数据库服务重启
修改配置后需要重启数据库服务,使用以下方式启动数据库服务:
systemctl restart DmServiceDMSERVER(具体名称见5.3) |
---|
7、客户端连接工具
达梦的客户端工具,位于dmdbms/tool下的manager,可连接达梦数据库服务。
8、创建表空间
在“表空间”上右键“新建表空间”。
填写表空间名,并设置数据文件位置。建议文件大小初始值128M。
9、创建用户
在“用户-管理用户”上右键“新建用户”。
设置用户名、密码,并选择表空间为新建的表空间并授权。
点击“确定”完成用户的创建。
10、其他数据库类型转换至达梦
若从Oracle数据库迁移数据至达梦,需要调整达梦数据库dm.ini(位于创建数据库时,指定数据库目录/具体服务名下)以下参数:
COMPATIBLE_MODE=2 |
---|
并重启达梦服务后,再进行数据迁移。
迁移任务执行时,勾选“以文本方式显示执行任务”,如下所示:
人大金仓安装配置
1、安装数据库
1.1安装前准备
linux中,需要以非root用户执行安装程序,且该用户需要有标准的home目录。
注:安装R6版本时,兼容模式必须选择Oracle模式!
安装R6版本时,兼容模式必须选择Oracle模式!
安装R6版本时,兼容模式必须选择Oracle模式!
创建安装用户(root用户操作)
- 创建安装用户 kingbase
useradd -d /home/kingbase -m kingbase |
---|
2. 更改kingbase用户密码
passwd kingbase |
---|
1.2操作系统参数检查与更改
检查当前操作系统的 ulimit 参数。
ulimit -a |
---|
设置参数:
cat>> /etc/security/limits.conf <<EOF kingbase soft nofile 65536 kingbase hard nofile 65536 kingbase soft nproc 16384 kingbase hard nproc 16384 kingbase soft stack 10240 kingbase hard stack 32768 kingbase hard memlock 134217728 kingbase soft memlock 134217728 EOF |
---|
1.3Linux操作系统内存与磁盘空间检查
1. 检查内存
# 获取总内存大小
grep MemTotal /proc/meminfo
MemTotal: 32763916 kB
# 获取交换分区大小
grep SwapTotal /proc/meminfo
# 获取内存使用情况
free -m
2. 检查磁盘空间
KingbaseES企业版安装需要1G以上存储空间,安装前为数据库实例预留足够的存储空间,规划好数据路径和备份路径等
# 检查磁盘空间使用情况
df -h
1.4安装KingbaseES
拷贝安装介质至/home/kingbase目录下,解压安装介质,更改安装文件属主,如:
cd /home/kingbase
tar -zxvf KingbaseES_V008R002C001B0458_Aarch64_install.tar.gz
chown -R kingbase:kingbase KingbaseES_V008R002C001B0458_Aarch64_install
图形化安装:
使用kingbase用户登录到操作系统,进入到安装目录执行安装,如:
cd /home/kingbase/KingbaseES_V008R002C001B0458_Aarch64_install
chmod +x setup.sh
./setup.sh
步骤1:欢迎
步骤2:许可协议
步骤3:选择安装类型
步骤4:选择授权文件
步骤5:选择安装文件夹,目录权限需属于kingbase,如
步骤6:预安装摘要
步骤7:开始安装
步骤8:选择data目录
步骤9:设置数据库初始化参数
步骤10:完成安装
2、人大金仓数据库服务启停
如需启停数据库服务,执行命令启停
启动:systemctl start kingbase8d.service
停止:systemctl stop kingbase8d.service
状态查看:systemctl status kingbase8d.service
人大金仓配置调整
修改data/kingbase.conf,增加参数配置
ignore_char_null_check = true |
---|
修改完成后,重启数据库:systemctl restart kingbase8d.service
3、客户端连接工具
人大金仓的客户端连接工具,位于‘人大金仓目录的ManagerTools目录下的manager,可连接人大金仓数据库。
3、创建用户
4、创建数据库
东方通部署协同办公平台
东方通安装准备
TongWeb中间件由客户提供需检查1.3中参数调优,如首次安装及配置参照以下7.x或者8.x版本步骤进行中间件安装及配置调整
1、1 安装概述
信创操作系统要求:UOS20 SP1(芯片:鲲鹏、龙芯) 麒麟V10(芯片:飞腾)
Linux系统:CentOs 7、8 Linux Red Hat Enterprise 7、8 Ubuntu
中间件版本要求:7.0及以上
JDK版本:1.8
1、2 安装JDK
下载并安装jdk到服务器
配置jdk环境变量其中/jdk_install_dir为jdk安装路径
2 东方通7.x适配协同运营平台
1 安装东方通7.x
- 安装
注意:安装前需要设置系统变量JAVA_HOME,否则无法启动安装程序。
执行./Install_TW7.0.4.3_Enterpris_Linux.bin 接受许可协议(文件名以实际情况为准)
Jdk(要求jdk8系列jdk1.8.0_201以上版本)位置可以自己选择,选择到bin目录即可。
这一步选择的位置是东方通的物理安装地址,东方通的文件存放在该目录(注意:路径不能有中文)
这一步选择的位置是东方通启动和卸载脚本的软连接路径。
点击安装即可,安装结束后如下图,system-http-listener所显示的端口是东方通启动后,访问控制台时所使用的端口,如果有修改,请访问对应的端口进入控制台。
至此,安装结束,可以在/root/TongWeb7.0(该目录为安装过程中选择的安装文件夹)中找到对应的东方通文件。
- 东方通的授权文件
东方通的正常使用需要授权文件(一般为license.dat),在购买中间件时应及时获取授权文件,在安装后将授权文件放置在安装目录的根目录下。
-
调整tongweb.xml(安装路径/config)
调整uri-encoding为utf-8(涉及多个listener):
-
JVM参数配置
在东方通的bin/external.vmoptions中设置jvm参数,参数示例:
#jvm_options
-XX:+UseG1GC
-Xms8G
-Xmx8G
-XX:MetaspaceSize=2G
-XX:MaxMetaspaceSize=2G
-XX:ReservedCodeCacheSize=1G
-Djava.awt.headless=true
-Dibm.stream.nio=true
-Djava.net.preferIPv4Stack=false
-XX:MaxMetaspaceSize=2G
在线人数 | 堆内存配置 |
---|---|
<500 | -Xms8G -Xmx8G |
500-1000 | -Xms16G -Xmx16G |
1000-2000 | -Xms32G -Xmx64G |
- 启动东方通
可以在${TongWeb_HOME}/bin目录下运行nohup ./startserver.sh &,以后台运行的方式启动 TongWeb。
查看日志:tail -f ${TongWeb_HOME}/bin/nohup.out
注意:若使用高版本JDK配置,JVM参数配置了-XX:+UseG1GC,可能会出现启动失败的问题:
遇到此类问题可以检查修改Tongweb/bin/external.options文件。
确保配置文件#jvm_options模块中存在参数-XX:+UnlockExperimentalVMOptions,并且一定要在-XX:+UseG1GC位置之前。
在浏览器中输入http://ip:9060/console,其中表示TongWeb主机IP地址,9060 为TongWeb管理控制台默认监听端口,登录东方通控制台修改配置。默认系统管理员用户名及初始密码为:thanos/thanos123.com。
- 容器配置
登录东方通控制台后,设置默认应答的容器的字符集为UTF-8,默认请求参数解码字符集修改为ISO-8859-1(7.0.4.0以前版本为utf-8),并重启东方通服务。重启后检查容器配置中字符集是否已调整,若未调整可修改东方通的配置文件tongweb.xml
保存
- 线程池配置
登录东方通控制台后》WEB容器配置》HTTP通道管理》tong-http-listener 》线程池属性
调整最大线程数为4096
保存
- 虚拟主机管理配置
进入虚拟主机管理,server,添加属性cacheMaxSize,值为1000000
- 启动参数配置
单体程序jvm参数建议不低于8G
保存
- 关闭东方通压缩功能,设置POST请求最大字节数
登录控制台,在“WEB容器配置”-“HTTP通道管理”中,将http通道的各listener中“压缩属性”设置为“不使用”,其他设置中,设置POST请求最大字节数为-1。
2 安装协同运营平台
说明:目前tongweb安装部署依赖COP及S1安装程序,
COP:生成应用安装程序以及程序依赖组件
S1:生成应用配置文件
安装部署请参考致远 协同管理软件V1.5产品安装维护手册-Linux.docx
2、1 S1配置
S1采用B/S结构,请使用浏览器访问。
2.1.1、在PC端访问
打开PC端的浏览器,访问 http://服务器ip:8864/agent
进入登录页面,如下图:
登录名为admin。
获取密码以及修改密码请参考《致远服务S1安装维护手册》
进入首页后需阅读并同意《隐私保护协议》,同意后即可使用各项功能。示意图如下
2.1.2、应用配置
包含对应用服务器、应用参数、数据库、Redis的配置。
应用服务器配置:
HTTP端口为tongweb部署应用访问端口,默认 8088
HTTP端口:对外服务端口。
总线程数: 应用服务器可并发的最大线程数量。
JVM属性:配置JAVA内存使用大小。
2、2 程序适配
2.2.1 适配数据库驱动
(1)、下载对应版本数据库驱动程序,部署到/a8c_install_dir/webapps/seeyon/WEB_INF/lib/下
/a8c_install_dir为单体安装程序实际安装路径
例如: DmJdbcDriver.8.1.2.2-20210427.jar
(2)、将/a8c_install_dir/ApacheJetspeed/lib中的【MYSQL驱动 如:mysql-connector-java-5.1.49.jar】【ORACLE数据库驱动 如:ojdbc8.jar】【POSTGRES数据驱动 如:postgresql-42.5.0.jar】【SQLSERVER数据库驱动 如:sqljdbc42.jar】拷贝到/tongweb_install_dir/TongWeb7.0/lib/下,以上名称仅供参考,以目录中名称为准。
2.2.2 配置引用
添加应用启动参数 控制台>启动参数配置
a8c_ApacheJetspeed安装路径:
-DCATALINA_HOME=/a8c_install_dir/ApacheJetspeed
a8c应用日志路径:
-DlogBasePath=/a8c_install_dir/logs_sy/
-DlogBaseName=a8c
添加应用配置引用路径
-Dseeyon.config.path=/a8c_install_dir/base/conf
/a8c_install_dir为a8c实际安装路径
添加应用启动参数 控制台>启动参数配置>服务器参数
-DenableJPA=false
-Dopenejb.webservices.enabled=false
-DWebModuleOnly=true
-Djava.awt.headless=true
2.2.3 增加mjs文件适配
修改东方通安装目录conf/default-web.xml,增加以下内容:
重启东方通中间件生效配置。
2、3 部署应用
安装应用路径:/a8c_install_dir/ApacheJetspeed/webapps/seeyon
WEB_INF: 后端程序
static:前端程序
应用管理>部署应用
在tongweb中指定程序安装路,/a8c_install_dir/ApacheJetspeed/webapps/seeyon为a8c单体安装后路径,/a8c_install_dir为a8c实际安装路径,访问前缀"/“即可
资源加载
配置完成后点击完成,等待启动。
备注:如购买使用费控/发票/合同/人事/项目管理/资产管理系统服务需单独上传程序文件至/a8c_install_dir/ApacheJetspeed/webapps/seeyon目录,重启tongweb服务加载程序
2、4 启动服务
调整参数后重启tongweb服务
/tongweb_install_dir为tongweb实际安装路径
停止服务
/tongweb_install_dir/TongWeb7.0/bin/stopserver.sh
后台启动服务
nohup /tongweb_install_dir/TongWeb7.0/bin/startserver.sh &
tongweb日志路径:
/tongweb_install_dir/TongWeb7.0/logs/server.log
a8c日志路径:
/tongweb_install_dir/logs_sy/a8c-info.log
2、5 访问应用
http://ip:port(如果在S1中设置了域名,使用http://域名:port方式访问)
3 东方通8.x适配协同运营平台
1 安装东方通8.x
- 下载程序并解压至安装目录
准备东方通8.0安装包及授权并上传至要安装服务器(厂商购买) unzip TongWeb.x.x.x.x.zip
- 安装License
将获取的License 文件license.dat,拷贝到安装完成的TongWeb根目录下:${tongweb.home},如下图所示。
- 启动TongWeb
其中tongweb_install_dir为tongweb实际安装路径
nohup /tongweb_install_dir/TongWeb8.0/bin/startserver.sh &
- 添加可信任ip
注意:以下的操作都需要东方通已经启动的情况下操作!确认东方通启动成功后再进行操作
服务器存在可视化界面,通过服务器的浏览器访问:https://localhost:9060/console
若仅使用安装TongWeb的本机访问TongWeb控制台,则可跳过此步骤。
1. 登录TongWeb管理控制台。
2. 在控制台左上角,单击“集中管理”,进入集中管理页面。
3. 选择“安全配置”>“控制台安全”,进入控制台页面。
4. 设置“信任IP”即可。
信任IP设置完成后,您即可通过信任IP所在浏览器客户端访问TongWeb管理控制台。
服务器不存在可视化界面(无法通过打开本机浏览器的方式访问东方通)通过如下命令行添加可访问IP:
-
修改默认东方通默认密码:sh /东方通的bin目录/commandstool.sh –model=password –action=update –username=thanos –password=thanos123.com –acceptAgreement=true originalPassword=thanos123.com newPassword=新的东方通密码 confirmPassword=确认新的密码
-
添加信任IP
sh /东方通的bin目录/commandstool.sh –username=thanos –password=上一步设置的新密码 –acceptAgreement=true –model=consolesecurity –action=update trustedIP=需要访问权限机器的IP地址
-
访问TongWeb
https://服务器ip地址(如果是本机访问,使用localhost):9060/console 用户名:thanos 密码:thanos123.com(如果有修改,以修改后密码为准)
-
参数调试
jvm参数优化
单体程序jvm建议不低于8G
基础配置>JVM配置
线程优化
Web容器>通道>server>线程优化
按需填写最大线程数建议值500或1000
2 安装协同运营平台
说明:目前tongweb安装部署依赖COP及S1安装程序,
COP:生成应用安装程序以及程序依赖组件
S1:生成应用配置文件
安装部署请参考致远 协同管理软件 V1.2.0 产品安装维护手册-Linux.docx
2、1 S1配置
S1采用B/S结构,请使用浏览器访问。
2.1.1、在PC端访问
打开PC端的浏览器,访问 http://服务器ip:8864/agent
进入登录页面,如下图:
登录名为admin。
获取密码以及修改密码请参考《致远服务S1安装维护手册》
进入首页后需阅读并同意《隐私保护协议》,同意后即可使用各项功能。示意图如下
2.1.2、应用配置
包含对应用服务器、应用参数、数据库、Redis的配置。
应用服务器配置:
HTTP端口为tongweb部署应用访问端口,默认 8088
HTTP端口:对外服务端口。
总线程数: 应用服务器可并发的最大线程数量。
JVM属性:配置JAVA内存使用大小。
2、2 程序适配
2.2.1 适配数据库驱动
(1)、下载对应版本数据库驱动程序,部署到/tongweb_install_dir/TongWeb8.0/lib/app下
/tongweb_install_dir为tongweb实际安装路径
例如: DmJdbcDriver.8.1.2.2-20210427.jar
(2)、将/a8c_install_dir/ApacheJetspeed/lib中的【MYSQL驱动 如:mysql-connector-java-5.1.49.jar】【ORACLE数据库驱动 如:ojdbc8.jar】【POSTGRES数据驱动 如:postgresql-42.5.0.jar】【SQLSERVER数据库驱动 如:sqljdbc42.jar】拷贝到/tongweb_install_dir/TongWeb8.0/lib/app下,以上名称仅供参考,以目录中名称为准。
2.2.2 配置引用
基础配置—启动参数—创建,依次添加应用启动参数
a8c_ApacheJetspeed安装路径:
-DCATALINA_HOME=/a8c_install_dir/ApacheJetspeed
a8c应用日志路径:
-DlogBasePath=/a8c_install_dir/logs_sy/
-DlogBaseName=a8c
添加应用配置引用路径
-Dseeyon.config.path=/a8c_install_dir/base/conf
/a8c_install_dir为a8c实际安装路径
基础设置>启动参数
基础配置>全局配置>开启【轻量模式】,更新
2.2.3 增加mjs文件适配
东方通根目录/version8.0.5.0目录下tongweb-web.jar,该jar包根目录有default-web.xml
将文件取出,添加如下内容后保存。
将文件复制到domains/domain1/conf目录(如果有已部署的应用,会导致应用出问题,需要重新部署),重启东方通中间件。
2、3 部署应用
a8c安装应用路径:/a8c_install_dir/ApacheJetspeed/webapps/seeyon
WEB_INF: 后端程序
static:前端程序
应用管理>应用>新建>基本属性
在tongweb中指定程序安装路,/a8c_install_dir/ApacheJetspeed/webapps/seeyon为a8c单体安装后路径,/a8c_install_dir为a8c实际安装路径,访问前缀”/“即可
配置完成后点击添加,等待启动。
备注:如购买使用费控/发票/合同/人事/项目管理/资产管理系统服务需单独上传程序文件至/a8c_install_dir/ApacheJetspeed/webapps/seeyon目录,重启tongweb服务加载程序
2、4 启动服务
调整参数后重启tongweb服务
/tongweb_install_dir为tongweb实际安装路径
停止服务
/tongweb_install_dir/TongWeb8.0/bin/stopserver.sh
后台启动服务
nohup /tongweb_install_dir/TongWeb8.0/bin/startserver.sh &
tongweb日志路径:
/tongweb_install_dir/TongWeb8.0/domains/domain1/logs/server.log
a8c日志路径:
/tongweb_install_dir/logs_sy/a8c-info.log
2、5 访问应用
http://ip:port(如果在S1中设置了域名,使用http://域名:port方式访问)
宝兰德部署协同办公平台
BES 中间件安装
BES中间件由客户提供,如首次安装及配置参照一下步骤进行中间件安装及配置调整
1、1 安装概述
信创操作系统要求:UOS20SP1(芯片:鲲鹏、龙芯) 麒麟V10(芯片:飞腾)
Linux系统:CentOs 7、8 Linux Red Hat Enterprise 7、8 Ubuntu
中间件版本要求:8.0及以上
JDK版本:1.8
1、2 中间件JDK变量设置
JAVA_HOME设置openjdk的绝对路径,设置的目录下需存在bin/java文件:
vi /etc/profile
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
source /etc/profile
3 安装宝兰德BES
1、3、1 下载程序包
将 BES 中间件程序包上传后解压至服务器。
1、3、2 初始化并启动服务
进入中间件安装目录下bin下(路径根据实际路径修改),执行./initstore命令:
cd /home/BES-CLUSTER-9.5.2/bin
./initstore
将控制台进程设置为开机自启动
单机执行
./service install
集群执行
./service systemd
启动控制台:
systemctl start bes-standard.service
systemctl start bescluster95.service
查看服务状态
systemctl status bes-standard.service
systemctl status bescluster95.service
--也可以执行脚本启动控制台服务:
./startManagement
--停止控制台服务
./stopManagement
1、3、3 访问控制台
浏览器访问 :http://宝兰德服务器IP:6900/console
默认用户名:admin 默认密码:B#2008_2108#es
1、4 主机管理
1、4、1 新增主机:seeyon【名称可自定义】
名称:可任意填写,自定义
主机名IP:填写IP地址(请勿填写127.0.0.1)
用户名与密码:填写服务器上的用户及密码。
主机创建完成后,可点击主机再次进入,点击ping测试是否成功,如果成功即表示可以通过上述配置的IP地址及用户密码成功登录该主机:
1、4、2 节点管理
录入节点信息,选择上一步录入的主机,及节点存放位置(可单独指定,
当前配置是存放于BES中间件目录下)。
节点名称:自定义
节点目录:即是节点安装的绝对路径,可自定义配置(建议安装在中间件安装目录下比如/opt/BES/node)
节点属性修改保存后,点击启动节点。
修改节点属性,timeout设置调大:
启动节点:
1、4、3 实例管理
增加实例系统属性:
com.bes.enterprise.web.util.scan.StandardJarScanFilter.jarsToSkip-test *
com.bes.enterprise.web.compiler.ignoreHtmlComment false
修改实例的JVM配置(根据实际可用内存调整堆设置,元空间初始值和最大值配置成一致,最低2048M)
在线人数 | 内存最小值 -Xms与-Xmx配置成一致 |
---|---|
<500 | 16G |
500-1000 | 24G |
1000以上 | 48G |
修改页面下方JVM选项,增加参数:-Djava.awt.headless,值为true
增加参数:-XX:ReservedCodeCacheSize,值为1G。
-DCATALINA_HOME,值为/a8c安装路径/ApacheJetspeed
-DlogBasePath,值为/a8c安装路径/ApacheJetspeed/logs_sy
-DlogBaseName,值为a8c
-Dseeyon.config.path,值为/a8c安装路径/base/conf
修改完成上述参数保存后,启动实例,此时在节点instances目录将生成实例目录。
再使用控制台-实例管理-停止实例,修改实例配置default-web.xml文件(单机无需配置):
vim /opt/BES/node/conf/default-web.xml
添加如下配置:
<init-param>
<param-name>trimSpaces</param-name>
<param-value>false</param-value>
</init-param>
1、5 实例 jar 包更新
移动以下 jar 包到安装目录到实例的 lib 目录/opt/BES/node/node/seeyon/instances/seeyon/lib/
如果ApacheJetspeed/lib下没有,就到ApacheJetspeed\webapps\seeyon\WEB-INF\lib目录下拷贝!
/a8c安装目录/ApacheJetspeed/lib/websocket-api.jar
/a8c安装目录/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/woodstox-core-as1-4.2.0.jar
/a8c安装目录/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/jakarta.servlet-api-4.0.4.jar
2、部署协同云应用
说明:目前宝兰德安装部署依赖COP-A8C及S1(A8C)安装程序,
COP-A8C:生成应用安装程序以及程序依赖组件
S1(A8C):生成应用配置文件
安装部署请参考致远 A8C 协同管理软件 V1.5 产品安装维护手册-Linux.docx
2、1 S1配置
S1 for A8c采用B/S结构,请使用浏览器访问。
2.1.1、在PC端访问
打开PC端的浏览器,访问 http://服务器ip:8864/agent
进入登录页面,如下图:
登录名为admin。
获取密码以及修改密码请参考《致远服务S1 for A8c安装维护手册》
进入首页后需阅读并同意《隐私保护协议》,同意后即可使用各项功能。示意图如下
2.1.2、应用配置
进入服务管理-基础配置
包含对应用服务器、应用参数、数据库、Redis的配置。
应用服务器配置:主服务端口为宝兰德部署应用访问端口,默认 18080
Redis 存储方式 ES配置等按照实际情况进行配置
2 部署seeyon
拷贝对应数据库驱动文件到实例的lib目录(如无法加载到可拷贝至部署应用lib下如bes/node/seeyon/instances/seeyon_A8C/lib/):
达梦数据库:
cp DmJdbcDriver18.jar /opt/BES/node/lib/
人大金仓数据库(注意区分R3和R6版本驱动,使用对应数据库版本驱动):
cp kingbase8-8.6.0.jar /opt/BES/node/lib/
BES 中间件菜单【应用管理-常用应用】
部署模式选本地模式,点击下一步
依次选择A8C安装目录ApacheJetspeed/webapps 目录下 seeyon应用。
输入应用名称:seeyon,应用前缀输入/,部署顺序默认100,点击下一步。
超时时间修改为3600,勾选支持组件JSF JSONP Restful
点击保存,等待部署完成。
# 跟踪部署过程。
cd $节点目录/节点名/instances/实例名/logs/
tail -f server.log
显示 successfully deployed in ** ms.即部署完成,可通过浏览器访问应用。
用户访问端口默认为18080,访问地址:http://域名:18080,可通过实例管理-基本信息-系统属性(http-listener-1_port)修改为指定端口。
2、3 后续启动与停止:
1.应用部署成功后可以登录管理控制台进行节点、实例的启停,启动实例会关联启动应用。
2.如果需要开机自动启动节点、实例及应用,在节点管理注册服务即可;如不需要服务启动则在此处删除服务。
3. 系统代码更新
应用系统代码更新后,需在启动实例服务前,清除中间件缓存。
rm -rf $节点目录/节点名/instances/实例名/work/*
如图所示,路径根据实际修改:
金蝶部署协同办公平台
金蝶中间件安装
金蝶AAS中间件由客户提供,如首次安装及配置参照一下步骤进行中间件安装及配置调整
1 安装概述
信创操作系统要求:UOS20SP1(芯片:鲲鹏、龙芯) 麒麟V10(芯片:飞腾)
Linux系统:CentOs 7、8 Linux Red Hat Enterprise 7、8 Ubuntu
中间件版本要求:8.0及以上
JDK版本:1.8
JAVA_HOME设置openjdk的绝对路径,设置的目录下需存在bin/java文件:
vi /etc/profile
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
source /etc/profile
2 安装金蝶中间件AAS
1、2、1 上传并解压安装介质,如:
unzip AAS-V10.zip -d AAS10/
1、2、2 金蝶的授权文件
金蝶V10的正常使用需要授权文件(一般为license.xml),在购买中间件时应及时获取授权文件,在安装后将授权文件放置在安装目录的aas目录下。
1、2、3 启动和停止金蝶命令
启动默认域:在 APUSIC_HOME/bin 路径下执行 ./asadmin start-domain 该命令启动默认域 mydomain。
停止默认域:在 APUSIC_HOME/bin 路径下执行 ./asadmin stop-domain 该命令停止默认域 mydomain。
注意:启动需要系统环境变量中存在java环境变量,如果不存在可以编辑asadmin中内容自行设置java目录(推荐openjdk 1.8.0_191以上版本,不要使用build openj9系列的openjdk)
1、2、4 访问金蝶:
在浏览器输入:http://ip:6848,即可访问金蝶。
修改管理员密码: 在 APUSIC_HOME/BIN 目录下执行 asadmin change-admin-password 命令,按照提示修改 admin 密码,admin 初始密码为空。
- 2、5 jvm配置
在线人数 | 堆内存配置 |
---|---|
<500 | -Xmx32G |
500-1000 | -Xmx48G |
1000-2000 | -Xmx64G |
修改页面下方JVM选项
增加参数:-XX:ReservedCodeCacheSize,值为1G。
-DCATALINA_HOME,值为/a8c安装路径/ApacheJetspeed
-DlogBasePath,值为/a8c安装路径/ApacheJetspeed/logs_sy
-DlogBaseName,值为a8c
-Dseeyon.config.path,值为/a8c安装路径/base/conf
点击保存
1、3 实例 jar 包更新
移动以下 jar 包到安装目录到金蝶安装目录aas/lib下,如没有就到ApacheJetspeed\webapps\seeyon\WEB-INF\lib目录下拷贝
/a8c安装目录/ApacheJetspeed/lib/websocket-api.jar
/a8c安装目录/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/woodstox-core-as1-4.2.0.jar
/a8c安装目录/ApacheJetspeed/webapps/seeyon/WEB-INF/lib/jakarta. servlet-api-4.0.4.jar
拷贝对应数据库驱动文件到金蝶安装目录aas/lib下:
达梦数据库:
cp DmJdbcDriver18.jar aas/lib
人大金仓数据库(注意区分R3和R6版本驱动,使用对应数据库版本驱动):
cp kingbase8-8.6.0.jar aas/lib
1、4 增加mjs文件适配
修改ApusicAS/aas/domains/mydomain/config/default-web.xml(根据实际路径修改),增加mjs的mime-mapping
配置后需要重启金蝶中间件。
2、部署协同云应用
说明:目前金蝶安装部署依赖COP-A8C及S1(A8C)安装程序,
COP-A8C:生成应用安装程序以及程序依赖组件
S1(A8C):生成应用配置文件
安装部署请参考致远 A8C协同管理软件V1.5产品安装维护手册-Linux.docx
2、1 S1配置
S1 for A8c采用B/S结构,请使用浏览器访问。
2.1.1、在PC端访问
打开PC端的浏览器,访问 http://服务器ip:8864/agent
进入登录页面,如下图:
登录名为admin。
获取密码以及修改密码请参考《致远服务S1 for A8c安装维护手册》
进入首页后需阅读并同意《隐私保护协议》,同意后即可使用各项功能。示意图如下
2.1.2、应用配置
进入服务管理-基础配置
包含对应用服务器、应用参数、数据库、Redis的配置。
应用服务器配置:主服务端口为金蝶部署应用访问端口,默认 6888
Redis 存储方式 ES配置等按照实际情况进行配置
2 部署seeyon
AAS 中间件菜单【应用管理】–部署
部署模式选本地模式(/a8c安装目录/ApacheJetspeed/webapps/seeyon),选择类型为web应用程序,应用前缀输入/
点击确定,等待部署完成。
# 跟踪部署过程。
cd /安装路径/aas/domains/mydomain/logs
tail -f server.log
显示 successfully deployed in ** ms.即部署完成,可通过浏览器访问应用。
用户访问端口默认为6888,访问地址:http://域名:6888,可通过实例管理-基本信息-系统属性(http-listener-1_port)修改为指定端口。
2、3 应用访问
部署完成后在页面会有访问按钮,点击访问跳转到如下页面,点击链接访问即可。
2、4 应用程序更新
应用系统代码更新后,需重新启动实例服务
/a8c安装目录/ApacheJetspeed/webapps/seeyon
东方通部署集群协同办公平台
环境说明:
-
集群部署需要单点部署的支持,请先根据单点部署,部署好每台服务器
-
集群结构支持多节点、水平集群,不支持垂直集群(多节点部署在同一服务器);
-
集群部署需要依赖共享存储,文件存储或oss,本文只配置nfs共享文件存储
-
负载设备的选择, 只要是支持http协议的负载均衡设备TongWeb均可支持。
本文选择nginx+keeplive(安装步骤不在累述)
-
至少准备两台服务器安装TongWeb
安装参见《东方通7.x适配协同办公平台》《东方通8.x适配协同办公平台》
部署架构图如下:
集群配置主要有以下步骤:
-
创建并关联共享存储
集群环境下,公共资源配置会影响元数据、流程表单发布、文件上传等应用的使用,所有应用服务器都需要共享一个目录,请务必引起重视!!!
Nfs安装请执行yum安装yum install -y nfs-utils,本文不提供其他安装方式
挂载两种方式:
-
tongweb集群中的一台作为主节点,其他节点挂载主节点
-
把nfs服务独立到单独的一台服务器,然后tomcat集群挂载独立节点(推荐,tongweb节点中任何一个节点挂掉都不会影响)
公共资源目录配置主要以下:
seeyon.file.nfs.root-path: /data/A8C/base/upload 元数据目录和上传文件目录
目录可以自己修改结构,所有集群服务器需要通过nfs服务挂载到相同的目录下
我的服务器是10.3.9.193、10.3.9.194两台,挂载情况如下,多台挂载一样
mount -t nfs 10.3.9.193:/data/A8C/base/upload /data/A8C/base/upload
以下目录配置不用修改配置文件,但需要通过共享存储挂载。
验证环境部署在/data/A8C,请根据实际情况修改对应路径。
表单发布前后端源码目录
mount -t nfs 10.3.9.193:/data/A8C/base/autocode /data/A8C/base/autocode
前端挂载目录,挂载nginx对应目录(前端文件放nginx服务器)
mount -t nfs 10.3.9.193:/data/A8C//data/A8C/ApacheJetspeed/webapps/seeyon/static /mnt/nfs/v8/frontend/tongweb
后端编译依赖目录( /data/A8C/maven-dependencies需要共享)
mount -t nfs 10.3.9.193:/data/repository /data/A8C/maven-dependencies
前端编译依赖目录(/data/A8C/frontend-dependencies需要共享)
mount -t nfs 10.3.9.193:/data/repository /data/A8C/frontend-dependencies
-
反向代理
nginx主配置文件末尾添加
[root@devops-local /etc/nginx/conf.d]# cat nginx.conf
-
#http模块添加 map $http_upgrade $connection_upgrade { default upgrade; '' close; } #引用子配置 include conf.d/tongweb.conf;
[root@devops-local /etc/nginx/conf.d]# cat tongweb.conf
upstream tomcat{
server 10.3.9.193:8088 weight=1 max_fails=2 fail_timeout=10s;
server 10.3.9.194:8088 weight=1 max_fails=2 fail_timeout=10s;
}
upstream websocket{
server 10.3.9.193:12345 weight=1 max_fails=2 fail_timeout=10s;
server 10.3.9.194:12345 weight=1 max_fails=2 fail_timeout=10s;
}
server {
listen 80;
listen 443 ssl http2;
listen 12345 ssl http2;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_certificate /etc/nginx/cert/8714389__seeyonv8.com.pem;
ssl_certificate_key /etc/nginx/cert/8714389__seeyonv8.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
server_name xxx.com;
keepalive_timeout 300;
access_log logs/cwar_frontend.access.log main;
client_header_buffer_size 128k;
large_client_header_buffers 4 8k;
client_max_body_size 1024m;
if ($scheme = 'http') {
return 301 https://$host$request_uri;
}
#if ($request_method = 'OPTIONS') {
# return 200;
#}
location = / {
return 302 ./login/;
}
location ~^/service/ctp-message-websocket/ws {
add_header X-Frame-Options SAMEORIGIN;
proxy_pass http://websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
location ~^/service/ {
add_header X-Frame-Options SAMEORIGIN;
proxy_pass http://tomcat;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_intercept_errors on;
}
location ~ \.(bmp|png|apng|avif|gif|jpg|jpeg|jfif|pjpeg|pjp|svg|webp|ico|cur|tif|tiff|ttf|eot|woff|woff2|js|css|map)$ {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
add_header X-Frame-Options SAMEORIGIN;
default_type text/html;
proxy_hide_header Content-Disposition;
proxy_hide_header x-oss-force-download;
proxy_hide_header Content-MD5;
proxy_hide_header ^x-oss*;
add_header Content-Disposition inline;
#add_header X-Frame-Options SAMEORIGIN;
#add_header X-XSS-Protection "1; mode=block";
#add_header X-Content-Type-Options nosniff;
proxy_set_header Accept-Encoding "gzip";
set $cache_control "max-age=2592000";
root /mnt/nfs/v8/frontend/tongweb;
index index.html;
# 没有 hash 值的前端资源,走协商缓存
if ($uri ~ ((remoteEntry|sy-icon|seeyon-sw-register)\.js|\.html)$) {
set $cache_control "no-cache";
}
add_header Cache-Control $cache_control;
}
location ~^/(?!(?:service|openapi|ctp-user\/sso)/)([^/]+) {
add_header X-Frame-Options SAMEORIGIN;
rewrite ^/([a-zA-Z0-9\-\_]+)/?[a-zA-Z0-9\/\-\_]*$ /$1/index.html break;
root /mnt/nfs/v8/frontend/tongweb;
add_header Cache-Control max-age=300;
index index.html;
}
}
3、nginx启停
nginx启动
nginx
nginx配置检查
nginx -t
nginx停止
nginx -s stop
4、使用应用启动脚本启动应用(集群),观察启动日志
tail -f /data/a8c/ApacheJetspeed/logs_sy/a8c-info.log
显示启动成功,即部署完成,可通过浏览器访问应用
5、COP-A8C依赖组件安装
5、1 redis安装
参照【腾讯文档】Redis安装部署手册
Redis安装部署手册
注意事项
- 单台redis或者多台redis配置,只能二选一,暂不支持redis的哨兵模式
- A8C集群各个节点都需要配置redis,并且各节点配置内容需要一致。
Elasticsearch安装
参照【腾讯文档】Elasticsearch安装部署手册
Elasticsearch安装部署手册
Mysql安装
参照【腾讯文档】致远 COP-A8C 协同运营平台 产品数据库部署准备
致远 COP-A8C 协同运营平台 产品数据库部署准备
宝兰德部署集群协同办公平台
环境说明:
-
集群部署需要单点部署的支持,请先根据单点部署,部署好每台服务器
-
集群结构支持多节点、水平集群,不支持垂直集群(多节点部署在同一服务器);
-
集群部署需要依赖共享存储,文件存储或oss,本文只配置nfs共享文件存储
-
负载设备的选择, 只要是支持http协议的负载均衡设备TongWeb均可支持。
本文选择nginx+keeplive(安装步骤不在累述)
-
至少准备两台服务器安装Bes
安装参见《宝兰德部署协同办公平台》
部署架构图如下:
集群配置主要有以下步骤:
-
创建并关联共享存储
集群环境下,公共资源配置会影响元数据、流程表单发布、文件上传等应用的使用,所有应用服务器都需要共享一个目录,请务必引起重视!!!
Nfs安装请执行yum安装yum install -y nfs-utils,本文不提供其他安装方式
挂载两种方式:
-
Bes集群中的一台作为主节点,其他节点挂载主节点
-
把nfs服务独立到单独的一台服务器,然后tomcat集群挂载独立节点(推荐,Bes节点中任何一个节点挂掉都不会影响)
公共资源目录配置主要以下:
seeyon.file.nfs.root-path: /data/A8C/base/upload 元数据目录和上传文件目录
目录可以自己修改结构,所有集群服务器需要通过nfs服务挂载到相同的目录下
我的服务器是10.3.9.193、10.3.9.194两台,挂载情况如下,多台挂载一样
mount -t nfs 10.3.9.193:/data/A8C/base/upload /data/A8C/base/upload
以下目录配置不用修改配置文件,但需要通过共享存储挂载。
验证环境部署在/data/A8C,请根据实际情况修改对应路径。
表单发布前后端源码目录
mount -t nfs 10.3.9.193:/data/A8C/base/autocode /data/A8C/base/autocode
前端挂载目录,挂载nginx对应目录(前端文件放nginx服务器)
mount -t nfs 10.3.9.193:/data/A8C/data/A8C/ApacheJetspeed/webapps/seeyon/static /mnt/nfs/v8/frontend/Bes
后端编译依赖目录( /data/A8C/maven-dependencies需要共享)
mount -t nfs 10.3.9.193:/data/repository /data/A8C/maven-dependencies
前端编译依赖目录(/data/A8C/frontend-dependencies需要共享)
mount -t nfs 10.3.9.193:/data/repository /data/A8C/frontend-dependencies
-
反向代理
nginx主配置文件末尾添加
[root@devops-local /etc/nginx/conf.d]# cat nginx.conf
-
#http模块添加 map $http_upgrade $connection_upgrade { default upgrade; '' close; } #引用子配置 include conf.d/Bes.conf;
[root@devops-local /etc/nginx/conf.d]# cat Bes.conf
upstream tomcat{
server 10.3.9.193:18080 weight=1 max_fails=2 fail_timeout=10s;
server 10.3.9.194:18080 weight=1 max_fails=2 fail_timeout=10s;
}
upstream websocket{
server 10.3.9.193:12345 weight=1 max_fails=2 fail_timeout=10s;
server 10.3.9.194:12345 weight=1 max_fails=2 fail_timeout=10s;
}
server {
listen 80;
listen 443 ssl http2;
listen 12345 ssl http2;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_certificate /etc/nginx/cert/8714389__seeyonv8.com.pem;
ssl_certificate_key /etc/nginx/cert/8714389__seeyonv8.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
server_name xxx.com;
keepalive_timeout 300;
access_log logs/cwar_frontend.access.log main;
client_header_buffer_size 128k;
large_client_header_buffers 4 8k;
client_max_body_size 1024m;
if ($scheme = 'http') {
return 301 https://$host$request_uri;
}
#if ($request_method = 'OPTIONS') {
# return 200;
#}
location = / {
return 302 ./login/;
}
location ~^/service/ctp-message-websocket/ws {
add_header X-Frame-Options SAMEORIGIN;
proxy_pass http://websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
location ~^/service/ {
add_header X-Frame-Options SAMEORIGIN;
proxy_pass http://tomcat;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_intercept_errors on;
}
location ~ \.(bmp|png|apng|avif|gif|jpg|jpeg|jfif|pjpeg|pjp|svg|webp|ico|cur|tif|tiff|ttf|eot|woff|woff2|js|css|map)$ {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
add_header X-Frame-Options SAMEORIGIN;
default_type text/html;
proxy_hide_header Content-Disposition;
proxy_hide_header x-oss-force-download;
proxy_hide_header Content-MD5;
proxy_hide_header ^x-oss*;
add_header Content-Disposition inline;
#add_header X-Frame-Options SAMEORIGIN;
#add_header X-XSS-Protection "1; mode=block";
#add_header X-Content-Type-Options nosniff;
proxy_set_header Accept-Encoding "gzip";
set $cache_control "max-age=2592000";
root /mnt/nfs/v8/frontend/Bes;
index index.html;
# 没有 hash 值的前端资源,走协商缓存
if ($uri ~ ((remoteEntry|sy-icon|seeyon-sw-register)\.js|\.html)$) {
set $cache_control "no-cache";
}
add_header Cache-Control $cache_control;
}
location ~^/(?!(?:service|openapi|ctp-user\/sso)/)([^/]+) {
add_header X-Frame-Options SAMEORIGIN;
rewrite ^/([a-zA-Z0-9\-\_]+)/?[a-zA-Z0-9\/\-\_]*$ /$1/index.html break;
root /mnt/nfs/v8/frontend/Bes;
add_header Cache-Control max-age=300;
index index.html;
}
}
3、nginx启停
nginx启动
nginx
nginx配置检查
nginx -t
nginx停止
nginx -s stop
4、使用应用启动脚本启动应用(集群),观察启动日志
tail -f /data/a8c/ApacheJetspeed/logs_sy/a8c-info.log
显示启动成功,即部署完成,可通过浏览器访问应用
5、COP-A8C依赖组件安装
5、1 redis安装
参照【腾讯文档】Redis安装部署手册
Redis安装部署手册
注意事项
- 单台redis或者多台redis配置,只能二选一,暂不支持redis的哨兵模式
- A8C集群各个节点都需要配置redis,并且各节点配置内容需要一致。
Elasticsearch安装
参照【腾讯文档】Elasticsearch安装部署手册
Elasticsearch安装部署手册
Mysql安装
参照【腾讯文档】致远 COP-A8C 协同运营平台 产品数据库部署准备
致远 COP-A8C 协同运营平台 产品数据库部署准备
2.7 - 安装工具
协同服务安装启动配置
安装流程概述
协同服务的安装基本流程为:硬件环境准备—>安装操作系统—>安装数据库服务—>安装协同服务—>启动服务—>客户端访问。
以下对操作系统、数据库服务等相关流程中的注意事项进行说明。
操作系统准备
Windows环境安装准备
为了方便启动,协同安装时,将注册一些Windows服务项(一般为Seeyon**Service、等),将涉及到服务项、注册表的修改。请遇到安全软件或操作系统提示时,选择允许修改,或在协同安装前先暂停安全软件(如360安全卫士、金山等)。
Linux环境与安装准备
使用SHH工具连接Linux服务器,推荐使用xshell等客户端工具。
Linux或者Unix系统时安装程序依赖GUI图形界面,Linux版本众多有的系统预装了GUI有的系统则没有,如果系统提示GUI不存在的话,可以使用安装命令yum groupinstall -y “Server with GUI”,进行安装。GUI安装成功后再次运行SeeyonInstall安装程序启动脚本。终端-终端类型调整为linux。
协同服务安装
注意事项
安装前,请先设置操作系统时区。协同应用服务器时区应与数据库服务器时区一致。此时区尽量与协同大部分用户所在时区保持一致。协同应用服务器时区的变化,将导致系统提示类的数据异常。
协同服务安装程序入口文件说明:
序号 | 安装程序文件 | 说明 |
---|---|---|
1 | SeeyonA8C1Install | A8C安装入口文件 |
安装步骤
启动安装程序之前环境检查项:
1、检查是否支持的操作系统类型,Windows Server系统,CentOS6以上,SuSE11以上
2、检查是否64位
3、检查cpu内存是否达到最低配置要求8c16g
4、检查虚拟内存是否不低于10240M
5、检查磁盘可用空间是否不低于100G
6、检查网卡速率是否符合基线要求,1000M
7、已部署各项服务内存之和,加上即将安装的产品内存配置(默认4G)不得超过物理内存80%
8、当前服务器可用内存不得低于物理内存60%
9、Linux系统,ulimit -a检查open files和max user processes都不得低于60000
安装步骤:
-
第一歩:双击安装程序SeeyonA8CInstall.bat文件(Linux环境为SeeyonA8CInstall.sh)
-
第二步:开始进行安装。选择【我接受该许可协议条款】,选择【下一步】;
-
-
第三步:选择软件的安装路径,选择【下一步】;
-
-
第四歩:选择数据库类型,并配置数据库连接信息(数据库类型、数据库名称、服务器地址、端口、用户名、密码),选择【下一步】;
-
第五步:确认安装信息是否正确,选择【下一步】;
-
-
第六步:开始安装,安装完成后,出现账号密码设置界面,请填写初始化管理员账号登录名以及密码(服务启动后请使用填写的密码登录进行系统初始化);多节点安装时数据库需要配置多次,每次配置不同,最后再通过S1将数据库配置进行统一调整成一致的即可。
-
第七步:点击【完成】,退出安装程序。
启动协同服务
Windows启动
- 建议使用S1管理系统进行服务的启动与停止
Linux启动
- 建议使用S1管理系统进行服务的启动与停止
日志
- 安装日志存放在安装后产品目录下Logs文件夹,如:D:\Seeyon\A8\Logs;
- 启动日志存放在安装后产品的ApacheJetspeed/logs目录。
扩展服务安装与启动配置
操作系统准备
windows操作系统准备
为了方便启动,协同安装时,将注册一些Windows服务项(一般为Seeyon**Service、等),将涉及到服务项、注册表的修改。请遇到安全软件或操作系统提示时,选择允许修改,或在协同安装前先暂停安全软件(如360安全卫士、金山等)。
Linux操作系统准备
Linux或者Unix系统时安装程序依赖GUI图形界面,Linux版本众多有的系统预装了GUI有的系统则没有,如果系统提示GUI不存在的话,可以使用安装命令yum groupinstall -y “Server with GUI”,进行安装。GUI安装成功后再次运行0.SeeyonInstall安装程序启动脚本。
扩展服务安装
注意事项
安装前,请先设置操作系统时区。协同应用服务器时区应与数据库服务器时区一致。此时区尽量与协同大部分用户所在时区保持一致。协同应用服务器时区的变化,将导致系统提示类的数据异常。
协同服务安装程序入口文件说明:
序号 | 安装程序文件 | 说明 |
---|---|---|
1 | ExtendServiceInstall | 扩展服务安装入口文件 |
安装步骤
启动安装程序之前环境检查项:
1、检查是否支持的操作系统类型,Windows Server系统,CentOS6以上,SuSE11以上
2、检查是否64位
3、检查cpu内存是否达到最低配置要求8c16g
4、检查虚拟内存是否不低于10240M
5、检查磁盘可用空间是否不低于100G
6、检查网卡速率是否符合基线要求,1000M
7、已部署各项服务内存之和,加上即将安装的产品内存配置(默认4G)不得超过物理内存80%
8、当前服务器可用内存不得低于物理内存60%
9、Linux系统,ulimit -a检查open files和max user processes都不得低于60000
安装步骤:
-
第一歩:双击安装程序ExtendServiceInstall.bat文件(Linux环境为执行脚本ExtendServiceInstall.sh)
-
第二步:开始进行安装。选择【我接受该许可协议条款】,选择【下一步】;
-
第三步:选择安装路径
-
第四步:确认安装路径
-
第五步:安装过程
-
第六步:设置S1登陆密码
-
第七步:完成安装成功退出
安装完成后的注意事项
多个扩展服务安装完毕需要挂载共享目录,共享存储挂载命令:mount -t nfs 10.3.9.250:/data/NFS/zhoubin /base/upload 将本机的/base/upload 挂载到250的共享存储。挂载完成后通过df -h命令查看是否挂载成功。
/base/upload为共享存储的配置可以根据客户现场情况进行调整。
- 扩展服务和主服务集中部署时,如使用nfs本地存储,需设置绝对路径;
- 2、分离部署时,使用本地nfs需设置主服务存储共享,挂载至扩展服务;其他存储模式,需确认可访问性。
如主服务和扩展服务在一台服务器安装,安装完成后需重启主服务S1,识别新安装扩展服务。
启动扩展服务
windows下启动
- 建议使用S1进行服务的启动与停止,不建议直接执行启动和停止脚本。
Linux下启动
- 建议使用S1进行服务的启动与停止,不建议直接执行启动和停止脚本。
日志
- 安装日志存放在安装后产品目录下Logs文件夹,如:D:\Seeyon\ExtendService\Logs;
- 启动日志存放在安装后产品的ExtendService/logs目录。
hu
致远服务S1
S1支持协同及相关服务的服务启停、参数配置、运维监控及相关运维工具,产品安装后预置S1程序。详细的说明见S1的安装维护手册和用户操作手册。
S1文档地址:致远服务S1(A8-C)用户操作手册
部署配置Web服务
Web服务可以为协同系统的单机环境提供Web访问,为协同系统的集群环境提供Web访问以及负载均衡。
协同系统的集群要求对应的web服务在做负载均衡时支持会话保持机制。
会话保持机制的意义在于,确保将来自相同客户端的请求,转发至后端相同的服务器进行处理。换句话说,就是将客户端与服务器之间建立的多个连接,都发送到相同的服务器进行处理。这种机制,可以识别客户端与服务器之间交互过程的关联性,在负载均衡的同时,保证一系列相关联的访问请求分配到同一台服务器上。
依据实际情况,可自由选择Nginx(产品提供了标准安装程序,也可自主安装)、Apache、F5或其他web服务软硬件设施。
以下章节对web服务部署及配置时的注意事项进行说明。
部署及配置Nginx
Nginx支持协同系统的Web代理及集群部署的Web分发。
集群模式下,负载均衡且会话保持,需要用到nginx-sticky-module模块,此模块目前仅支持Linux系统,因此用Nginx做为集群模式的web服务时需要Linux操作系统的服务器。
产品提供了标准的Nginx安装程序,也可自行下载安装配置,详见以下章节。
部署概要拓扑图
Nginx服务常见的部署模式见以下部署示意图:
\Users\MaX.C\AppData\Roaming\Tencent\Users\313763889\TIM\WinTemp\RichOle\}5LK6[JN]}40BO1~ULEGBVS.png" />
\Users\MaX.C\AppData\Roaming\Tencent\Users\313763889\TIM\WinTemp\RichOle\_CP%73F145`BCG@7M5{71D6.png" />
自主安装配置Nginx
安装Nginx
-
Nginx及安装过程中需要的依赖程序的下载链接参考如下:
-
Nginx,参考下载链接(下载stable version,1.20.2或者以上版本):
-
pcre,参考下载链接:https://sourceforge.net/projects/pcre/files/pcre/
-
openssl,参考下载链接:https://www.openssl.org/source/
-
zlib,参考下载链接:https://zlib.net/
-
若系统未安装gcc,请使用操作系统安装盘(或安装镜像)进行安装,centos系统可以执行yum install -y gcc gcc-c++
-
以所有的安装程序位于/home/soft下,nginx的安装目录位于/home/nginx下,依次执行以下命令进行nginx的安装(命令中标红的安装包名称,以实际下载的为准):
# 切换目录至/home/soft cd /home/soft # 以实际下载的文件格式选择tar或zip解压 # 解压tar压缩包 tar -zxvf nginx-1.20.2.tar.gz tar -zxvf pcre-8.40.tar.gz tar -zxvf zlib-1.2.11.tar.gz tar -zxvf openssl-1.1.0g.tar.gz # 修改解压后文件夹名,便于后续安装 mv nginx-1.20.2 nginx mv pcre-8.40 pcre mv zlib-1.2.11 zlib mv openssl-1.1.0g openssl # 赋权文件夹 chmod -R 777 nginx chmod -R 777 openssl chmod -R 777 zlib chmod -R 777 pcre # 进行nginx的configure cd nginx # 注意以下configure命令为一行 ./configure –prefix=/home/nginx –with-http_stub_status_module –with-http_ssl_module –with-http_realip_module –with-http_sub_module –with-http_flv_module –with-http_mp4_module –with-http_auth_request_module –with-http_random_index_module –with-http_gzip_static_module –with-pcre=/home/soft/pcre –with-openssl=/home/soft/openssl –with-zlib=/home/soft/zlib 注意:如果芯片底层架构为mips,需要进入nginx目录当中,修改objs目录下的Makefile内容,找到其中 && ./config –prefix=/home/thtf/mircoService/nginx_src/openssl-1.0.2u/.openssl(根据实际目录而定) no-shared no-threads \ 修改为 && ./Configure (注意是Configure不是config) linux64-mips64 no-asm –prefix=/home/thtf/mircoService/nginx_src/openssl-1.0.2u/.openssl no-shared no-threads \ 修改后保存。 # 编译、安装 make make install |
---|
配置Nginx
以nginx安装在/home/nginx下为例,nginx的配置文件为/home/nginx/conf/nginx.conf。配置文件内容示例如下(其中upstream的名称及服务地址依据实际情况进行修改,如不需ipv6访问请去掉listen [::]:80 ipv6only=on;这一行配置):
启动Nginx
以nginx安装在/home/nginx下为例,nginx的启动脚本为/home/nginx/sbin/nginx。启动示例如下:
# 切换命令行到nginx启动脚本目录 cd /home/nginx/sbin # 启动 ./nginx # 重启 ./nginx -s reload # 停止 ./nginx -s stop # 指定配置文件重启,一般用于nginx异常停止后的启动 ./nginx -c /home/nginx/conf/nginx.conf |
---|
参数调优
参数优化需依据nginx的运行情况,及服务器负载情况进行调整。常见的优化参数有以下内容:
- worker_processes:nginx的进程数,一般为cpu的倍数,可以为1倍。
-
worker_rlimit_nofile:nginx的进程打开文件数,可以与ulimit -u的值一致。
-
worker_connections:每个进程允许的最多连接数。
-
keepalive_timeout:客户端超时时间,单位秒。
-
client_max_body_size:客户端连接的最大请求实体,影响协同系统的上传附件大小,建议设置大于或等于运行附件上传的最大值。
-
access_log:请求日志,建议无需调试时关闭(off)。
Nginx可优化的参数还有很多,建议依据系统实际的运行需求,选择性优化。
-
负载均衡F5配置说明
协同系统的集群结构需要web服务做负载均衡时会话保持(或会话粘滞),会话保持机制的意义在于,确保将来自相同客户端的请求,转发至后端相同的服务器进行处理。
因此F5需采用符合会话保持原理的负载均衡策略才可保证协同集群系统的正常运行。
集群部署
安装多台节点后需要搭建V8集群,请参考集群搭建手册。
2.8 - 安装工具-无图形化
概要说明
操作系统无图形化工具,安装手册。
安装程序
- 创建安装目录(如/data/install),进入到安装目录下
- 下载静默安装程序:a8cSilentInstall.zip,放至安装目录下
- 下载标准安装程序:a8cplatInstall_*.zip(X86 CPU)或a8cplatInstall_ARM_*.zip(ARM CPU),放至安装目录下
安装程序文件说明
a8cplatInstall_20231021131902_20231103.zip
a8cSilentInstall.zip
- instSQL_A8C-2
- application.yaml
- SeeyonA8CSilentInstalll.sh
- seeyoninstall_A8C.info
安装步骤
解压a8cSilentInstall.zip
unzip a8cSilentInstall.zip
初始化数据库
# 创建A8C数据库
# 执行对应数据库的脚本:
instSQL_A8C-2\DM\A8C-2_ALL_IN_ONE_DM.SQL
instSQL_A8C-2\KingBase\A8C-2_ALL_IN_ONE_KINGBASE.SQL
instSQL_A8C-2\MySQL\A8C-2_ALL_IN_ONE_MYSQL.SQL
instSQL_A8C-2\Oracle\A8C-2_ALL_IN_ONE_ORACLE.SQL
instSQL_A8C-2\PostgreSQL\A8C-2_ALL_IN_ONE_POSTGRESQL.SQL
instSQL_A8C-2\SQLServer\A8C-2_ALL_IN_ONE_SQLSERVER.SQL
# 执行初始化租户的脚本:
instSQL_A8C-2\initTenant.sql
执行安装脚本
# 建议授予整个安装目录执行权限chmod +x SeeyonA8CSilentInstalll.sh && ./SeeyonA8CSilentInstalll.sh
设置S1密码
# 执行过程需要设置S1密码,请按密码格式要求设置密码
安装后配置
执行安装脚本后,会自动启动S1服务,参考标准的有图形化安装程序手册进行相应配置,启动A8C服务使用。
安装后目录固定为安装程序同级目录(如此处/data/install/A8C)。
系统会默认初始化一个租户
# 系统管理员system-admin默认密码为:Seeyon@123
# 租户管理员org-admin默认密码为:Seeyon@123
# 新增用户的默认密码为:Seeyon@123
新增用户的默认密码可在\base\conf\application.yaml中配置,修改后重启A8C
# 修改新增用户的默认密码
user:
defaultPassword: des579IuLaX2Kkm51z8taYiAQ==
2.9 - S1
概述
此文档主要说明S1 for A8c(以下简称S1)中各项功能的使用。
关于S1的安装请参考《致远服务S1 for A8c安装维护手册》
适用浏览器:IE9及之后版本,Edge,Chrome,FireFox。
协同主服务安装完成时,一般会自动安装并启动S1服务
S1脚本说明【协同主目录】/S1/bin/ 目录下
start.sh/start.bat linux/windows启动服务脚本
stop.sh/stop.bat linux/windows停止服务脚本
resetPwd.sh/resetPwd.bat linux/windows修改S1登陆密码脚本
1.1 进入首页
S1 for A8c采用B/S结构,请使用浏览器访问。
在服务器访问
打开服务器的浏览器,访问 http://127.0.0.1:8864/agent
在PC端访问
打开PC端的浏览器,访问 http://服务器ip:8864/agent
进入登录页面,如下图:
登录名为admin。
获取密码以及修改密码请参考《致远服务S1 for A8c安装维护手册》
进入首页后需阅读并同意《隐私保护协议》,同意后即可使用各项功能。示意图如下
1.2 功能概述
S1主要功能包含:运维监控、服务启停配置、数据库服务、补丁更新、应用包安装:
- 运维监控:提供服务器及服务的资源监控。
- 服务启停配置:支持协同服务、微服务的服务启动、停止、多节点配置下发
- 多节点配置下发日志查看与追踪
- 补丁更新:修复程序缺陷
- 应用包安装:增购应用包的部署
功能说明
2.1 许可管理
通过许可管理功能上传License,首次上传页面如下,License支持在线和离线更新
2.2 服务启动配置
服务启动配置支持协同服务、扩展服务等服务的启动、停止及配置。配置参数参考协同安装维护手册。
服务启停配置中的自动启动是指当S1服务启动后,当前环境中的其它服务会随着S1的启动而启动。
2.3 应用配置
组件版本及端口
资源 | 最低版本 | 默认维护端口 | 备注 |
---|---|---|---|
Redis | 5 | 6379 | |
Mysql | 5.7 | 3306 | |
Nginx | 适配 | 80、443 | |
ElasticSearch | 7.15 | 9200、9300 |
服务管理>基础配置
主服务入口配置、扩展服务负载均衡配置:
数据库配置
redis配置
存储配置
es配置
2.4 补丁包更新
补丁包更新支持可视化的上传、下载产品标准补丁包,可视化的进行补丁包安装(自动备份程序,安装补丁包)、补丁包卸载(自动还原至打包前),并记录补丁包的操作日志。
内网用户(无法连接外网的用户),可通过“离线安装“功能,上传标准补丁包,并自动安装补丁包(安装过程会自动停止协同服务)。
联网用户(可以连接外网的用户),可通过“在线下载补丁包“功能,查看适用于协同系统的标准补丁包。在该列表中,可视化的安装、卸载补丁包。
选择补丁包安装时,自动检查当前列表中的所有补丁包,若选择的补丁包发布时间前,存在其他补丁包,则会默认勾选,不可取消,然后一并安装
除了安装完的提示信息,我们也可以点击补丁包名称或补丁包描述,来查看补丁包详细信息。
安装补丁包后可以在列表中选择补丁包进行卸载。若选择的补丁包发布时间后存在其他的已安装补丁包,则一并卸载。
对于卸载后的补丁包若我们之后不想再次安装,则可以通过点击忽略,将补丁包置为忽略状态,即下次打包不会安装此补丁包。
2.5 应用包安装
此模块可以对新购应用包进行安装、更新、回滚等操作。
已安装列表
罗列已经安装的应用包,包含自带和后期新购后安装的应用包。
根据实际需要可以后安装的应用包进行回滚
未安装列表
罗列离线导入的许可文件中的新购应用包。
若需在线查看新购应用包,请点击在线安装。
本页可以通过列头排序,通过搜索框快速查找应用。
对新购应用包执行更新、或者安装操作。
在线安装应用列表
在线获取并罗列新购应用包,减少导入离线许可操作。
本页允许在线安装或者先下载再择机安装。
应用包下载、配置
若新购应用存在特有配置,会在应用配置中展现,并配置。
配置完成后执行安装操作
安装完成后提示信息。
所有安装完成后,请启动A8C服务验证。
2.6 国际化
S1默认支持中文、英文两种语言,国际化设置如下:
2.7 日志管理
可以对配置下发和license上传更新做日志记录与状态跟踪
可以查看每次配置更新的详情
2.8 运维监控
2.8.1 简介
运维监控主要监控:服务器CPU、服务器内存、磁盘使用率、网络利用率。
2.9 多节点建联
对于协同集中部署,S1内置数据库使用默认配置即可,不需要配置。
对于协同分离部署、集群部署,存在多台服务器多个S1。
此时需对S1内置数据库的
- IP设置为同一台,必须设置为协同主节点的IP.
- ismaster参数仅协同主节点设置为true,其他节点设置为false
修改h2.ip
h2.port默认为1092,若端口被占用可以修改,如需要在单独部署的微服务和从节点的服务器中使用S1,修改完ip后,确保1092端口可通过防火墙等安全系统。
请使用局域网IP,不要使用 127.0.0.1、localhost 和公网IP.
Ismaster 参数设置
ismaster参数仅协同主节点设置为true,其他节点设置为false
服务解析
当我们完每个节点上的S1的h2.ip后,先启动协同主节点上的S1,待启动完成后,再逐一将其他机器的S1启动(顺序没有要求),当启动完成后,我们可以访问协同主节点的S1,然后再到Agent设置里解析其他机器上的IP,解析成功后,就可以在协同主节点的S1去统一管理所有机器的服务(注意:如果机器上只有数据库,只将该机器上的S1的h2.ip配置成协同主节点的IP即可,不用解析)
若S1存在多个节点,当主节点S1重启后,为了保证从节点S1正常使用,需要将各从节点的S1在主节点S1启动完成后,进行重启。
致远互联微服务
“致远互联微服务”是致远服务官方微信服务号,扫描以下二维码关注:
暂不支持
“致远互联微服务“为客户提供移动端在线服务。包含:在线客服、查询服务进度、查询企业信息等服务,并定期推送热点知识。
常见问题
点击登录没反应并且页面样式问题
S1支持IE9及以上版本,但部分环境的IE浏览器可能会出现如下情况:
点击登录没反应,这个和IE配置有关。
可以在IE中开启二进制文件和脚本行为后刷新缓存后再次访问,具体配置方式如下:
打开IE浏览器后进入Internet选项。
进入Internet选项后,进入安全,选择Internet后,点击自定义级别,找到ActiveX控件和插件下的二进制文件和脚本行为,勾选为启用。
数据库文件被锁
S1中内置了H2数据库,当H2数据库被打开时,都会创建一个锁定文件,以指示数据库正在使用的其他进程,若更换过服务器IP,可能会导致文件被锁定导致启动失败,错误提示如下:
遇到此类问题,可手动将S1/userdata/userdata.lock.db文件删掉,其他文件保留。
然后重启即可。
S1启动失败并提示存在多个协同产品。
S1启动失败,并在启动窗口的最后部分出现系统存在多个协同产品字样。
例如【a8c】【a6】等
此问题常见于Windows环境,由于服务转版或其它原因,导致注册表中存在多个OA服务的注册信息。
该文提处理方为,确认当前的协同服务信息,然后将多余的导出备份后删掉。
Windows键 + r 调起运行窗口,然后在运行窗口中输入regedit后打开,即打开注册表。
协同服务在注册表中的路径为:
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\SEEYON\
找到这个目录,就可以看到存在多个协同服务信息。
确认本地的真实环境后,将多余的协同服务信息选中后右键,先导出备份,再删除,最后重启S1即可。
S1由于端口被占用导致的启动失败
S1启动失败,并且在启动窗口的最后部分出现Address already in use: bind
此类错误是因为端口被占用导致,S1默认端口为8864
Windows 环境下,我们可以在DOS窗口中执行netstat -ano|findstr 8864,找到占用改端口的进程ID。(若端口做过修改,则将8864换成对应端口即可)
得到进程PID后,我们可以去任务管理器的详细信息中,通过进程PID找到所对应的程序。
找到对应程序后,若对应程序可以停,则杀掉该进程后重启S1即可,若程序不可停,则也可以修改S1的默认端口,在S1的安装目录下,进到config文件夹,找到application-custom.properties文件,右键编辑,修改server.port。
修改后保存重启S1即可。
服务启动配置页面无服务
Windows
1、检查注册表是否正常注册如下图所示,忽略配置与实际情况的偏差。
2、若没有协同配置,则需手动进行添加,添加后重启S1
Linux
- 检查/root/.config/目录下是否有seeyoninstall_A8.info 文件
- 若没有此文件,需手动创建
- 下图标记的值不需要修改,只需按当前协同版本修改其它项的值
- 添加完成后重启S1
4.6 主服务和扩展服务安装到同一台机器
主服务和扩展服务进行安装时由于资源受限,只能安装到同一台机器的情况下,S1会随着安装包进行安装。届时未来避免不必要的问题和容易发生混淆等问题,请统一使用主服务下面的S1对安装的协同服务进行运维和监控。主服务和扩展服务安装完毕后需要重启主服务S1才能同时发现主服务和扩展服务。切记安装到一台服务器时要先安装主服务,再安装扩展服务,都安装完毕后重启主服务S1。然后在登陆主服务S1进行配置下发等后续运维工作。
4.7 集群中新增协同服务节点
当集群中新增主服务或者扩展服务节点时,首先需要通过S1的建联机制,统一纳入到S1的管理中,然后再通过配置下发功能将配置重新下发一遍,再通过S1启动新增的协同服务节点。如果安装节点在主服务上,则需要重启S1。
2.10 - 数据备份
前言
本手册对协同管理系统的数据备份相关事宜进行说明。如对手册存在疑问,可与致远互联的客户服务人员联系。
说明
协同系统的数据主要分为:非结构化数据、结构化数据(数据库)。
协同系统提供的S1支持PostgreSQL、MySQL数据库的备份,其他数据的备份建议采用专业的备份软件或数据库自身的备份方法定期备份。
以下章节展开说明主要的非结构化数据目录,以及各数据库自身的备份方法。
数据库备份与恢复
提醒:
- 定期做数据库备份;
- 数据备份包分离存储;
PostgreSQL数据备份与恢复
PostgreSQL数据库的备份
启动【协同产品目录】/pgsql13.3/bin/pgAdmin3.exe;
在需要备份的数据库上右键,选择备份,如下图所示:
备份完成后的截图如下:
PostgreSQL数据库的恢复
数据库名字上右键—恢复,选择刚才备份的文件,即可恢复。
在恢复后的数据库中执行以下SQL:
DROP CAST IF EXISTS (SMALLINT AS BOOLEAN); DROP CAST IF EXISTS (BOOLEAN AS SMALLINT); CREATE CAST (SMALLINT AS BOOLEAN) WITH INOUT AS IMPLICIT; CREATE CAST (BOOLEAN AS SMALLINT) WITH INOUT AS IMPLICIT; DROP CAST IF EXISTS (VARCHAR AS SMALLINT); DROP CAST IF EXISTS (SMALLINT AS VARCHAR); CREATE CAST (VARCHAR AS SMALLINT) WITH INOUT AS IMPLICIT; CREATE CAST (SMALLINT AS VARCHAR) WITH INOUT AS IMPLICIT; |
---|
PostgreSQL 9.2.5导出
- pgsql9.2.5\bin\pgAdmin3.exe连接数据库,选择数据库,单击备份
点击文件名后的“…”,格式选择无格式
选择好路径后,格式选择无格式,输入文件名,点击“创建”
编码选择UTF8,点击备份,显示“进程退出并返回0”导出完成
- linux服务器命令行导出数据备份
pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)>/data/dum.sql
#use
[postgres@vmonline postgres]$pg_dump -h localhost -U postgres pgtest> ~/dum.sql
#特别注意:数据库名称:pgtest与’>’ 之间不能存在空格
pg_dump -f DDDDDD.sql -i -C -E UTF8 -n public -s -U portal -h localhost -W portal -i 是为了兼容数据库版本 -C 包括创建数据库的语句 -E 设定导出数据的编码 -n 是Scheme的名称 -U 是用户名称 -h 是数据库服务器的名称 -W 是用强制密码验证
PostgreSQL 13.3安装
获取V8协同管理软件安装程序,安装包内data/base目录下获取postgresql数据库安装压缩包。
Windous环境
1、解压压缩包pgsql13.3_win64.7z到postgresql数据库目标安装目录,如D:\Seeyon\A8C\pgsql13.3
2、使用管理员权限执行initdb_service.bat完成系统服务注册;
初始化完成后在data目录下
3、修改pg_hba.cof文件IPv4这一段,新增一行让所有ip登陆(有IP限制需求address段可以根据需求修改)trust不需要密码,md5需要密码(建议使用md5)
4、修改postgresql.conf文件,listen_addresses 单引号内ip地址改为*并取消注释去掉前面的#,port也取消注释去掉前面的#,
listen_addresses = ‘*’
max_connections 参数可根据需求改大(如500、600);
shared_buffers = 4096MB物理内存除去其它服务占用设置为4G;
操作系统服务中,启动SeeyonPostgresql13.3服务即可启动数据库
Linux环境
1、添加用户
groupadd postgres
useradd -g postgres postgres
passwd Seeyon123
创建data文件夹
mkdir /usr/local/postgresql/data
把文件赋给postgres用户
chown -R postgres:postgres /usr/local/postgresql
添加环境变量
vi /etc.profile
添加如下内容,添加完成后source /etc/profile,使文件生效
export PATH=/usr/local/postgresql/bin:$PATH
export PGHOME=/usr/local/postgresql
export PGDATA=/usr/local/postgresql/data/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGHOME/lib/
export PATH=$PGHOME/bin:$PATH:$HOME/bin
切换用户
su - postres
初始化数据库
cd /usr/local/postgresql/bin
initdb -D /usr/local/postgresql/data -E UTF-8 –locale=zh_CN.UTF-8
启动参数文件修改,同windous环境
启动postgres
pg_ctl -D /usr/local/postgresql/data -l logfile start
连接数据库
psql
PostgreSQL 13.3导入
在PostgreSQL13.3版本数据库pgAdmin 4\bin\pgAdmin4.exe上操作
选择所要还原的数据库右键,点击还原中
选中导出的sql文件角色,点击还原
Windows环境命令行导入
导入sql、out等sql文件
psql -d 数据库名 -h ip地址 -p 数据库端口 -U 用户名 -f 文件地址
linux环境命令行导入
psql -U postgres(用户名) 数据库名(缺省时同用户名) < /data/dum.sql
#use
[postgres@vmonline ~]$ psql -U postgres pgtest < ~/dum.sql
#pg_restore导入数据库
pg_restore -h 192.168.0.100 -p 5432 -U postgres -W -d us2011 -v “/root/us2010.backup”
#pg_restore恢复示例
pg_restore -h 192.168.0.100 -p 5432 -U postgres -W -d us2011 -v “/root/us2010.backup”
pg_restore [选项]… [文件名] -d, –dbname=名字 连接数据库名字 -v, –verbose 详细模式 -h, –host=主机名 数据库服务器的主机名或套接字目录 -p, –port=端口号 数据库服务器的端口号 -U, –username=名字 以指定的数据库用户联接 -w, –no-password 永远不提示输入口令 -W, –password 强制口令提示 (自动)
MySQL数据备份与恢复
MySQL数据的备份与恢复可手工采用mysqldump的方式备份/恢复,亦可采用S1的备份功能(仅针对集中部署的MySQL服务,请参考S1备份恢复章节)。
MySQL数据库的备份
-
说明
备份前,请先停止产品服务,以保证数据的完整性。
-
备份命令示例
mysqldump -uroot -p123456 -P3306 -h127.0.0.1 -E -R –single-transaction -B V50 >D:\backup\v50-2013.sql
-
命令解释
-
-uroot:指定备份用户为root;
-p123456:指定用户的密码,其中123456为密码,需要输入正确的root用户密码;
-P3306:大写的字母P,指定mysql服务的端口,默认为3306;
-h127.0.0.1:指定mysql服务的地址,默认127.0.0.1;
-E:导出mysql的事件(events);
-R:导出mysql的存储过程及函数;
--single-transaction:此参数仅支持InnoDB引擎,此参数将锁表,为保持事务/数据一致性;
-B V50:指定导出的数据库名称,其中V50为数据库名称;
> D:\backup\v50-2013.sql:指定备份文件的物理路径及文件名;
- 其他说明
执行mysqldump命令,Windows系统需进入mysql程序的bin目录,Linux系统需进入/usr/bin目录。
MySQL数据库的恢复
- 说明
还原前,请确认当前数据库中与备份数据库名称一致的数据不再使用,恢复将覆盖对应数据库中的数据。
- 还原命令示例
mysql -uroot -p123456 -P3306 -h127.0.0.1<D:\backup\v50-2013.sql |
---|
-
命令解释
-uroot、-p123456、-P3306、-h127.0.0.1:指定用户名、密码、端口、IP地址;
< D:\backup\v50-2013.sql:指定恢复用sql文件的物理路径及文件名;
-
其他说明
执行mysql命令,在Windows系统需要进入mysql程序的bin目录,Linux系统需进入/usr/bin目录。
-
Oracle数据备份与恢复
Oracle数据的备份与恢复采用数据的导出导入方式。
Oracle数据库备份恢复步骤概述
- 第一步:选用exp、expdp中其中一种数据导出方法(推荐使用expdp方式),备份出原A8-V5服务数据;
- 第二步:在目标数据库服务器上新建一个与原服务名称一样的表空间及用户;
- 第三步:将备份出的A8-V5数据拷贝到目标数据库服务器上,对目标数据库选用imp、impdp中其中一种数据恢复方法,导入备份出来的A8-V5数据;
- 第四步:在A8-V5应用服务器上,打开A8-V5安装目录中的ApacheJetspeed\conf,使用【A8-V5应用配置工具】修改A8-V5的数据库链接地址,指向新的数据库;
- 第五步:重新启动A8-V5服务。
imp/exp方式:
exp和imp是Oracle的工具程序,在成功安装了Oracle Client客户端后就可以执行imp或exp命令了。它们即可以在数据库客户端使用,也可以在数据库服务端使用。
Windows数据库服务器:
在Windows中打开命令提示符,或者在开始->运行中输入cmd,回车后进入命令提示符窗口,在命令行中执行如下格式语句(如下两种语句在Linux下格式相同):
- 导入数据格式:imp <用户名>/<密码>@ <instance_sid> file=</路径/文件名>.dmp full=y
- 导出数据格式:exp <用户名>/<密码>@ <instance_sid> file=</路径/文件名>.dmp
如下图所示为Windows下导出数据的格式:
注意:一定要记下A8-V5所使用的表空间名及用户名,方便在导入时创建表空间及用户。
在目标数据库服务器上创建好用户及表空间后,就可以使用imp命令导入备份出来的数据了。
如下图所示为Windows下导入数据的格式:
导入成功后,在命令行中会有如下提示:
Linux数据库服务器:
在Linux下打开终端(应用程序->系统工具->终端),在命令行中先用su - oracle命令切换至Oracle用户下(Oracle用户有写入权限的路径,否则导出会报错的),如下图:
导出数据文件的目录最好选择Oracle用户的目录,可以在切换到Oracle用户后使用pwd命令查看Oracle用户的主目录,如下图:
在Oracle用户下,才能使用imp或exp命令。
如下图所示为Oracle用户下导出数据格式:
成功导出后会有如下提示:
在目标数据服务器上创建相同名称的数据库表空间及用户后,可以使用imp命令导入数据(导入前必须在目标数据库服务器上创建与原数据库相同名称的表空间及用户)。
下图为导入数据格式:
导入成功后会有如下提示:
expdp/impdp方式:
EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。
Windows数据库服务器:
在Windows命令提示符下,用SQLPLUS命令登录sys用户,如下图所示:
执行如下语句,创建导出/导入目录,并授权:
create or replace directory dumpdir as ‘导出/导入路径’; grant read, write on directory dumpdir to scott; |
---|
- 注:Scott用户不一定是在每个数据库中都存在的,只有在安装数据库的时候选择安装示例才有,并改成public用户。
执行格式及结果如下图所示:
在Sqlplus状态下输入exit,退出Sqlplus,在命令行中执行如下格式语句,执行导出、导入:
导出实例:expdp <用户名>/<密码>@<instance_sid> DIRECTORY = dumpdir DUMPFILE=<文件名>.dmp
导入实例:impdp <用户名>/<密码>@<instance_sid> DIRECTORY= dumpdir DUMPFILE=<文件名>.dmp
导出语句的格式如下图:
导入语句格式如下图(导入前必须在目标数据库服务器上创建与原数据库相同名称的表空间及用户):
Linux数据库服务器:
在Linux终端中输入su - oracle切换至oracle用户,用pwd命令查看oracle用户的目录,如下图:
用Sqlplus登录要导出数据的账户,如下图:
在Sqlplus命令行中执行如下语句,创建导出/导入目录,并授权:
create or replace directory dumpdir as ‘导出/导入路径’; grant read, write on directory dumpdir to scott; |
---|
执行结果如下图:
在Sqlplus中输入exit退出到oracle用户命令行中,在此命令行中执行如下格式导出、导入语句:
导出实例:expdp <用户名>/<密码>@<instance_sid> DIRECTORY = dumpdir DUMPFILE=<文件名>.dmp
导入实例:impdp <用户名>/<密码>@<instance_sid> DIRECTORY= dumpdir DUMPFILE=<文件名>.dmp
执行格式如下图所示:
导入格式(导入前必须在目标数据库服务器上创建与原数据库相同名称的表空间及用户):
SQLServer数据备份与恢复
物理备份方式
- 第一步:停止数据库服务
- 第二步:备份数据库对应的数据文件和日志文件,查看数据库的属性可以看到数据文件和日志文件的位置.如下图:
逻辑备份方式
打开SSMS管理工具,右键需要备份的数据库,选择任务->备份:
点击添加选择备份文件路径和名称:
点击确定,弹出备份完成:
目录中生成备份文件:
数据恢复过程
创建同名数据库,右键选择属性:
在选项中,修改限制访问为单用户(SINGLE_USER):
右键数据库选择任务->还原->文件和文件组:
源设备选择实际备份文件路径点击确定:
左上方选项中勾选覆盖现有数据库点击确定开始还原:
弹出“成功还原了数据库“a8””,代表还原成功,点击确定:
达梦数据备份与恢复
停止协同服务(注意,中间件需要一起停止,不要只停止应用)
达梦数据库备份方法,这里以模式导出为例:
Linux:
./dexp USERID=v80sp2_a82/Seeyon123456@localhost:5236 file=v80sp2_a82.dmp DIRECTORY=/home/dmdba/dmdbms/bin SCHEMAS=v80sp2_a82
Windows:
dexp.exe USERID=v80sp2_a82/Seeyon123456@localhost:5236 file=v80sp2_a82.dmp DIRECTORY=C:\Users\Administrator SCHEMAS=v80sp2_a82
参数说明:
dexp命令位于达梦数据库安装目录/bin目录下(注意,windows下名称为dexp.exe) USERID:数据库用户名/数据库密码@数据库服务ip:数据库服务端口
file:数据库备份文件导出名
DIRECTORY:数据库备份文件导出位于的目录
SCHEMAS:需要备份的数据库(即将要升级的数据库)模式名(一般与用户名一致)
达梦数据库恢复方法:
./dimp A8USER/qazPLM123 DIRECTORY=/data/ file=g6kong.dmp log=dm.import.log
用户名A8USER、密码qazPLM123、file=实际备份或恢复文件名称
如果用户存在数据,可在恢复语句的末尾添加此参数替换数据:table_exists_action=replace
./dimp A8USER/qazPLM123 DIRECTORY=/data/ file=g6kong.dmp log=dm.import.log table_exists_action=replace
连接数据库备份命令:
连接到控制台或者./dsql连接进入后输入此命令进行备份
backup database FULL BACKUPSET ‘/opt/data/DAMENG/bak/DB_DAMENG_FULL_2021_11_2_12_27’ COMPRESSED LEVEL 9;
全库恢复:
1、登录SYSDBA用户
2、在依次执行以下3个语句进行恢复
RESTORE DATABASE ‘/opt/data/OATEST/DAMENG/dm.ini’ FROM BACKUPSET ‘/opt/data/OATEST/DAMENG/bak/DB_DAMENG_FULL_2021_11_2_12_27’;
recover DATABASE ‘/opt/data/OATEST/DAMENG/dm.ini’ FROM BACKUPSET ‘/opt/data/OATEST/DAMENG/bak/DB_DAMENG_FULL_2021_11_2_12_27’;
recover DATABASE ‘/opt/data/OATEST/DAMENG/dm.ini’ update db_migc;
人大金仓数据备份与恢复
停止协同服务(注意,中间件需要一起停止,不要只停止应用)
人大金仓数据库备份方法:
Linux:
./sys_dump -h 127.0.0.1 -p 54321 -U SYSTEM -W SYSTEM -f /home/v5/seeyondump.dmp SEEYONV5
Windows:
sys_dump.exe -h 127.0.0.1 -p 54321 -U SYSTEM -W SYSTEM -f C:\Users\Administrator\seeyondump.dmp SEEYONV5
R6版本备份:(去掉-W参数,增加-d参数)
Linux:
./sys_dump -h 127.0.0.1 -p 54321 -U SYSTEM -f /home/v5/seeyondump.dmp -d SEEYONV5
Windows:
sys_dump.exe -h 127.0.0.1 -p 54321 -U SYSTEM -f C:\Users\Administrator\seeyondump.dmp -d SEEYONV5
参数说明:
sys_dump命令位于人大金仓安装目录/Server/bin目录(注意:windows操作系统名称为sys_dump.exe)
-h:数据库的ip
-p:数据库的端口
-U:数据库用户账户
-W:数据库用户密码
-f:备份文件的存储路径,以及名称
SEEYONV5:需要备份的数据库(即将要升级的数据库)
备份结束后备份文件会存放在/home/v5(根据-f中填写的而定)目录,名称为seeyondump.dmp(根据-f中填写的文件名而定)文件
-- 备份数据库命令举例
cd /home/kingbase/
sys_dump -Uv8xuser -Wv8xuserpass -f v8xdb.sql v8xdb
-- 导入数据库备份命令举例
cd /home/Kingbase
ksql -Uv8xuser -Wv8xuserpass -d v8xdb -f v8xdb.sql
神通数据备份与恢复
神通数据库备份方法:
注意:这里指从V8.0SP2 LTS之后的神通数据库,之前项目化支持的数据库请联系研发。
以模式导出为例:
./osrexp -usysdba/szoscar55 -h192.168.225.40 -dSEEYON level=schema file=/home/test.osr log=/home/oscar_dump_test.log schema=v81a82aas
参数说明:
osrexp命令位于神通数据库安装目录/bin目录下。
-u:后为用户名/密码
-h:指定数据库ip(可使用-p指定数据库端口)
-d:数据库名(实例名)
level:导出的类型
file:备份文件存放的目录
log:备份日志的存放的目录
schema:备份的模式名
2.11 - 跨环境推送
跨环境推送手册
概述
此文档主要说明单体正式环境和测试环境安装后,在环境间进行应用推送,验证流程配置、第三方系统接口验证、版本更新及新功能。
配置修改
1.将推送侧目录共享,挂载至接收侧环境,设置开机自动挂载
frontend-dependencies、maven-dependencies,位于安装后ApacheJetspeed同级目录,挂载至接收侧相同目录。
可以使用专门文件服务器,将两个目录分别挂载至主从节点。保证两个节点访问共同资源。
2.摆渡桶配置
注意:
a.摆渡桶是跨环境唯一通道,测试时需把跨环境业务涉及的两个或多个环境都配置相同的摆渡桶。
b.摆渡桶更换时,需将原摆渡桶中内容拷贝至新摆渡桶;
2.1 NFS
当使用nfs作为摆渡桶时,配置参数为:
seeyon.file.nfs.ferryboat-path //指定摆渡桶nfs目录,将作为摆渡通的目录共享,挂载至各环境相同目录,确保各环境可访问这个地址。
seeyon:
file:
nfs:
ferryboat-path: xxx
2.2 对象存储(oss、obs、minio)
配置参数说明:
seeyon.file.ferryboat-storage-type= oss //指定摆渡桶的类型(obs,oss,minio)
seeyon.file.ferryboat.access-key-id=xxxx //摆渡桶key信息
seeyon.file.ferryboat.access-key-secret=xxxx //摆渡桶key信息
seeyon.file.ferryboat.api-endpoint= //摆渡桶 api调用域名
seeyon.file.ferryboat.api-endpoint-protocol=http //摆渡桶 api调用协议
seeyon.file.ferryboat.ferryboat-bucket-name=seeyon-xx-test //摆渡桶名称
seeyon:
file:
ferryboat-storage-type: xxx
ferryboat:
access-key-id: xxx
access-key-secret: xxx
api-endpoint: xxx
api-endpoint-protocol: xxx
ferryboat-bucket-name: xxx
3.配置修改
根据《系统管理操作手册》中“环境配置(运维操作)“进行修改
数据一致性要求
为保证跨环境推送功能正常,需达到以下要求:
1、租户id一致
2、组织模型一致
可采用如下方式:定期将正式环境数据同步至测试环境(可去除关键敏感数据),使用相同license启动环境。
启动环境
分别启动正式环境和测试环境,验证推送功能。
环境标识:
正式环境:生产运行(prod),正式使用。
测试环境:测试运行(test),客户化开发,测试验证配置,及第三方系统(测试环境)接口验证等;版本更新,验证新功能、bug。
按钮解释:
推送到【测试】:在正式环境配置完应用后,推送到测试环境上,验证表单、流程配置。
发布到本环境:发布到当前正式环境,应用正式上线,投入使用。
验证过程:
- 正式环境新建审批应用,点击推送到【测试】
- 测试环境登录相同的测试账号,在流程管理中心菜单下的流程管理菜单显示推送的审批应用
- 验证流程仿真、启停用流程模板,及在测试环境运行态的使用。
- 正式环境修改表单或流程模板配置,重新推送到测试环境,验证是否推送成功
- 待推送到测试环境验证通过后,发布到本环境正式上线使用。
备注
-
生成资源目录定期备份
在发布应用过程中,会产生对应的前后端资源。针对frontend-dependencies、maven-dependencies定期做本地和异地备份,保证数据安全。
2.12 - 常见问题
应用服务常见问题
- Ubuntu 22.04.2 LTS操作系统,选择postgresql数据库,安装协同服务提示“不存在可用的数据库连接,请确认数据库是否启动”
问题原因:pgsql13.3/data/pg_log/startup.log日志记录启动错误
2023-04-17 17:02:21.812 CST [3226] LOG: invalid value for parameter “lc_messages”: “zh_CN.UTF-8”
2023-04-17 17:02:21.812 CST [3226] LOG: invalid value for parameter “lc_monetary”: “zh_CN.UTF-8”
2023-04-17 17:02:21.812 CST [3226] LOG: invalid value for parameter “lc_numeric”: “zh_CN.UTF-8”
2023-04-17 17:02:21.812 CST [3226] LOG: invalid value for parameter “lc_time”: “zh_CN.UTF-8”
2023-04-17 17:02:21.812 CST [3226] FATAL: configuration file “/data/pgsql13.3/bin/../data/postgresql.conf” contains errors
root@localhost:/data/pgsql13.3/bin# locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=“en_US.UTF-8”
LC_NUMERIC=“en_US.UTF-8”
LC_TIME=“en_US.UTF-8”
LC_COLLATE=“en_US.UTF-8”
LC_MONETARY=“en_US.UTF-8”
LC_MESSAGES=“en_US.UTF-8”
LC_PAPER=“en_US.UTF-8”
LC_NAME=“en_US.UTF-8”
LC_ADDRESS=“en_US.UTF-8”
LC_TELEPHONE=“en_US.UTF-8”
LC_MEASUREMENT=“en_US.UTF-8”
LC_IDENTIFICATION=“en_US.UTF-8”
LC_ALL=
【解决方案】
安装中文语言包,命令参考:sudo apt install language-pack-zh-hans
- 启动协同服务后,客户端无法访问
【解决方案】
服务器防火墙需要放行访问端口。
Windows系统配置方法:
1、打开 控制面板,选择 系统和安全,Windows 防火墙,左侧选择高级设置。
2、点击 入站规则 — 新建规则。
3、选择 端口,点击 下一步 。
4、选择 端口类型 — 输入要开启/关闭的端口然后点击 下一步 。
5、选择 阻止连接/允许连接 并点击 下一步,最后选择作用域和输入规则名称后点击 完成。
选择 允许连接 表示开启端口外部访问。
Linux系统配置方法:
一、iptables(Redhat6/CentOS6)
1.打开/关闭/重启防火墙
开启防火墙(重启后永久生效):chkconfig iptables on
关闭防火墙(重启后永久生效):chkconfig iptables off
开启防火墙(即时生效,重启后失效):service iptables start
关闭防火墙(即时生效,重启后失效):service iptables stop
重启防火墙:service iptables restartd
2.查看打开的端口
/etc/init.d/iptables status
3.打开某个端口(以8080为例)
(1)开启端口
iptables -A INPUT -p tcp –dport 8080 -j ACCEPT
(2)保存并重启防火墙
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
4.打开49152~65534之间的端口
iptables -A INPUT -p tcp –dport 49152:65534 -j ACCEPT
同样,这里需要对设置进行保存,并重启防火墙。
5.其他打开方式
我们还可以通过修改/etc/sysconfig/iptables文件的方式开启端口,如下
vi /etc/sysconfig/iptables
然后在文件中增加一行
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT
参数说明:
–A 参数就看成是添加一条规则
–p 指定是什么协议,我们常用的tcp 协议,当然也有udp,例如53端口的DNS
–dport 就是目标端口,当数据从外部进入服务器为目标端口
–sport 数据从服务器出去,则为数据源端口使用
–j 就是指定是 ACCEPT -接收 或者 DROP 不接收
二、firewalld(Redhat7/CentOS7)
Centos7默认安装了firewalld,如果没有安装的话,可以使用 yum install firewalld firewalld-config进行安装。
防火墙状态:
systemctl status firewalld
检查端口:
firewall-cmd –query-port=8080/tcp
开放端口:
firewall-cmd –add-port=8080/tcp –permanent
重载配置:
firewall-cmd –reload
1.启动防火墙
systemctl start firewalld
2.禁用防火墙
systemctl stop firewalld
3.设置开机启动
systemctl enable firewalld
4.停止并禁用开机启动
sytemctl disable firewalld
5.重启防火墙
firewall-cmd –reload
6.查看状态
systemctl status firewalld 或者 firewall-cmd –state
7.查看版本
firewall-cmd –version
8.查看帮助
firewall-cmd –help
数据库常见问题
- 连接SQLServer数据库提示驱动程序无法通过使用安全套接字层(ssl)加密与SQL server建立安全连接
问题原因:连接报错原因是数据库的ssl算法被操作系统拦截,个别服务器操作系统会出现该报错,例如:RockyLinux 9.1
【解决方案】
编辑安装程序启动脚本,增加jvm参数:-Djava.security.disableSystemPropertiesFile=true
https常见问题
- 使用阿里云/腾讯云/华为云配置https访问,或者负载均衡设备配置https访问,部分功能页面空白或者异常。https登录后部分功能转发为http协议。
协同服务ApacheJetspeed/conf/server.xml需要单独配置。
【解决方案】复制一行访问端口连接器 <Connector port=“80” executor=“tomcatThreadPool”
修改端口为其它,比如81,并在复制的行增加配置 proxyPort=“443” scheme=“https”,重启协同服务生效。
负载均衡连接后端服务器的新增端口(新增proxyPort=“443” scheme=“https” 配置的端口),比如81。
- 使用nginx配置https访问,不使用默认端口443,部分功能被转发到443端口引起功能异常。
协同服务ApacheJetspeed/conf/server.xml需要单独配置。以7002端口举例如下;
【解决方案】
1、复制一行访问端口连接器 <Connector port=“80” executor=“tomcatThreadPool”
修改端口为其它,比如81,并在复制的行增加配置 proxyPort=“7002” scheme=“https”
2、<Host name=“localhost"与</Host>中间增加配置
<Valve className=“org.apache.catalina.valves.RemoteIpValve” remoteIpHeader=“X-Forwarded-For” protocolHeader=“X-Forwarded-Proto” protocolHeaderHttpsValue=“https” httpsServerPort=“7002” />
重启协同服务。Nginx配置连接后端服务器的新增端口(新增proxyPort=“443” scheme=“https” 配置的端口),比如81。
3 - 微服务部署
3.1 - 产品部署清单
3.3 - 产品部署
概述
简述
本文档描述了如何通过安装工具部署V8,为实施和运维人员提供参考。安装工具已适配场景见下图:
角色介绍
角色 | 介绍 |
---|---|
管理员 | 拥有完全的微服务安装工具操作权限 |
关键能力
序号 | 关键能力 | 简述 |
---|---|---|
1 | 环境管理 | 对安装工具创建或托管的环境进行统一管理。支持创建全新环境、支持对已创建的环境进行基础配置维护或升级、支持适配已部署环境(指未通过安装工具部署V8,但需要通过安装工具进行托管及后续的运维) |
2 | 许可授权 | 对某一环境的许可进行维护。支持许可(license)的在线/离线更新 |
3 | 服务管理 | 对某一环境已部署的服务进行维护。支持服务的启动、重启、停止、回滚、重新部署及修改参数配置(包括Nacos及K8s配置);支持查看服务的部署日志及启动日志 |
4 | 应用管理 | 对某一环境的应用进行维护。支持应用的在线/离线更新 |
5 | 组件管理 | 对某一环境的组件进行维护。支持组件的离线更新 |
修订记录
序号 | 修订日期 | 版本 | 内容 |
---|---|---|---|
1 | 2024.7.30 | 1.0.0 | 初始化文档 |
2 | 2024.8.16 | 1.1.0 | 补充前置准备工作 |
前置准备工作
环境要求
微服务部署架构图
客户端服务要求
端 | 分类 | 兼容环境 | 详细需求 | 支持场景 | 不支持场景 |
---|---|---|---|---|---|
web端 | 操作系统 | windows | win7 32&64 win8.1 32&64 win10 32&64 win11 64 | 浏览器上全功能正常 | win7 32&64 win8.1 32&64 不支持 |
MAC | OS X 10.7以上版本 | 浏览器上全功能正常 | |||
Linux(信创) | UOS2.0SP1(芯片:鲲鹏、龙芯) 麒麟V10(芯片:飞腾) | 浏览器上全功能正常 | 浏览器上的功能不支持 | ||
分辨率 | 分辨率 | 最大支持2560*1440 最小支持1366*768 最佳效果分辨率1920*1080 响应式应用和大屏应用例外 | 范围内分辨率可使用的全部功能支持 | ||
浏览器 | windows | Chrome/Chromium 69+ /chrome65 Edge 79+ Firefox 65+ 360se 10.1+ IE 11+ 和以这些版本作为内核封装的各种浏览器 | 浏览器可使用的全部功能支持 Firefox、edge不支持pdf、签章 | IE 11+(不支持),chrome65只支持审批应用 | |
MAC | Chrome/Chromium 69+ Edge 79+ Firefox 65+ Safari 11.1+ | 浏览器可使用的全部功能支持 Safari 不支持pdf、签章 | |||
信创环境 | 国产化环境浏览器 360安全浏览器 | 浏览器可使用的全部功能支持 | 不支持 | ||
国产化环境浏览器 UOS浏览器 | 浏览器可使用的全部功能支持 | 不支持 | |||
桌面端 | 操作系统 | windows | win7 32&64 win8.1 32&64 win10 32&64 win11 64 | 移动桌面版安装、卸载,功能正常使用 | win7 32&64 win8.1 32&64 不支持 |
MAC | OS X 10.7以上版本 | 移动桌面版安装、卸载,功能正常使用 | |||
Linux(信创) | UOS2.0SP1(芯片:鲲鹏、龙芯) 麒麟V10(芯片:飞腾) | 移动桌面版安装、卸载,功能正常使用 | 等测试验证结果 | ||
移动端 | M5 | IOS设备 | iPhone设备:ios10以上系统 IPAD设备:ios10以上系统 | 安装、卸载、所有功能正常使用 | iPhone设备:ios12以上系统 IPAD设备:ios12以上系统 |
andriod设备 | andriod手机:5.2以上 andriod平板:5.2以上 | 安装、卸载、所有功能正常使用 | andriod手机:8.0以上 andriod平板:8.0以上 | ||
微信、企业微信 | 安装、卸载、所有功能正常使用 | iPhone设备:ios12以上系统 IPAD设备:ios12以上系统 | |||
钉钉 | 安装、卸载、所有功能正常使用 | andriod手机:8.0以上 andriod平板:8.0以上 | |||
welink | 安装、卸载、所有功能正常使用 | ||||
飞书 | 安装、卸载、所有功能正常使用 | ||||
文档客户端 | office | word | 2003以上 | 文档浏览、编辑正常使用 | 不支持 |
excel | 2003以上 | 文档浏览、编辑正常使用 | 不支持 | ||
powerpoint | 2003以上 | 文档浏览、编辑正常使用 | 不支持 | ||
wps | 文档/表格/演示 | wps2019专业版 | 文档浏览、编辑正常使用 | ||
AcrobatReader | 点聚轻阅读 | 文档浏览、编辑正常使用 | |||
wps在线服务 | |||||
签章 | pdf签章 | 点聚签章(点聚轻阅读) | |||
ofd签章 | 点聚签章(点聚轻阅读) | ||||
office签章 | 不支持 |
运行环境服务器要求
端 | 分类 | 兼容环境 | 详细需求 | 支持场景 |
---|---|---|---|---|
服务器 | 操作系统 | linux | 1、Linux Red Hat Enterprise 7、8 | 部署、启动、维护、备份 |
2、CentOs 7、8 | ||||
3、Ubuntu | ||||
4、信创:UOS2.0SP1(飞腾、龙芯、鲲鹏) | ||||
5、信创:麒麟V10(飞腾、龙芯、鲲鹏) |
- 检查是否64位
- 检查cpu内存是否达到最低配置要求8c16g,容器节点内存不敌低于8C64G
- 检查磁盘可用空间是否不低于200G
- 检查网卡速率是否符合基线要求,1000M
- 已部署各项服务内存之和,加上即将安装的产品内存配置(默认4G)不得超过物理内存80%
- 当前服务器可用内存不得低于物理内存60%
- Linux系统,ulimit -a检查open files和max user processes都不得低于60000
运行环境并发数描述
类型 | 安装资源 | 虚拟机规格 | 在线用户数对应服务器台数 | ||||
---|---|---|---|---|---|---|---|
cpu/mem/disk | 0-1k | 1-3k | 3-5k | 5-10k | >10k | ||
容器 | 容器master | 16C/32G/200G硬盘 | 高可用配置(三台或以上) | ||||
K8S Node | 16C/64G/200G硬盘 | 6 | 6 | 9 | 12 | 具体评估 | |
数据库 | Mysql主从 | 16C/64G/2TSSD | 2 | 2 | 2 | 4 | 具体评估 |
中间件 | Kafka集群 | 8C/16G/500G硬盘 | 3 | 3 | 3 | 6 | 具体评估 |
Redis集群 | 8C/16G/200G硬盘 | 6 | 6 | 6 | 12 | 具体评估 | |
nginx/keeplive代理 | 16C/32G/500G硬盘 | 2 | 2 | 2 | 2 | 具体评估 | |
nacos集群 | 8C/16G/200G硬盘 | 3 | 3 | 3 | 6 | 具体评估 | |
ClickHouse集群 | 16C/64G/1T硬盘 | 3 | 3 | 3 | 6 | 具体评估 | |
ElasticSearch集群 | 16C/32G/500G硬盘 | 3 | 3 | 3 | 6 | 具体评估 | |
运维监控 | 分布式日志ELK | 8C/16G/500G硬盘 | 1 | 1 | 1 | 1 | 具体评估 |
调用链监控 | 8C/16G/500G硬盘 | 1 | 1 | 1 | 1 | 具体评估 | |
存储 | 对象存储minio | 4C/8G/2T硬盘 | 2T硬盘 | ||||
镜像仓库habor | 8C/16G/2T硬盘 | 2T硬盘 | |||||
低代码平台服务(可选) | 流水线 | 16C/32G/500G硬盘 | 2 | 3 | 3 | 6 | 具体评估 |
制品仓库maven/npm | 16C/32G/500G硬盘 | 1 | 1 | 1 | 1 | 具体评估 | |
代码仓库 | 16C/32G/500G硬盘 | 1 | 1 | 1 | 1 | 具体评估 |
组件版本及端口
分类 | 资源 | 最低版本 | 默认维护端口 | 备注 |
---|---|---|---|---|
基础服务 | K8S Master | 1.17.3 | 6443 | |
K8S Node | 1.17.3 | |||
Kafka | 2.1.0 | 9092 | ||
Redis | 5 | 6379 | ||
TiDB/Mysql | 5.7 | 3306 | ||
Nginx(SLB等) | 适配 | 80、443 | ||
Nacos | 2.2.0 | 8848、9848 | ||
对象存储 | 适配 | 80 | ||
ClickHouse | 21.9.4.35 | 8123 | ||
ElasticSearch | 7.15 | 9200、9300 | ||
产品服务 | flow流水线 | 产品最新版本 | 8890 | |
Git | 2.37.0 | 无 | flow流水线依赖 | |
Maven | 3.6.3 | 无 | ||
Docker | 20.10.17 | 无 | ||
Yarn | 1.22.17 | 无 | ||
npm | 6.14.15 | 无 | ||
mysql | 适配 | 3306 | ||
网关 | 产品最新版本 | 30301/30401 | ctp/cip网关暴漏容器服务端口 | |
限流熔断 | 产品最新版本 | 8092 |
- 通过微服务安装工具部署V8时,高于Nacos 2.3.2版本需手动调整:${nacos.home}/conf目录下的application.properties文件中,设置nacos.core.param.check.enabled=false来关闭服务端的参数校验功能
- 安装工具所在服务器配置:JAVA_HOME配置,建议版本为openjdk8
部署资源清单
服务分类 | 后端服务 | 前端服务 | 说明 | jvm推荐内存 | 数据库创建 |
---|---|---|---|---|---|
网关服务 | ctp-webapi-gateway | webApi网关服务 | 4G | 否 | |
cip-openapi-gateway | 开放平台网关服务 | 4G | 否 | ||
基础服务 | app-common | app-common | 基础应用 | 4G | 是 |
app-office | |||||
ctp-message | ctp-message | 消息中心 | 4G | 是 | |
ctp-user | ctp-user | 用户(应用)中心 | 4G | 是 | |
ctp-user-mobile | |||||
organization | organization | 组织模型 | 4G | 是 | |
organization-mobile | |||||
m5 | m5-manage | 移动平台 | 4G | 是 | |
m5-desktop | |||||
m5-mobile | |||||
m5-login | |||||
m5-cloud | |||||
portal | login | 门户 | 4G | 是 | |
main | |||||
main-mobile | |||||
portal | |||||
portal-mobile | |||||
portal-portlet | |||||
流程待办 | app-approval | app-approval | 审批应用 | 6G | 是 |
app-approval-mobile | |||||
bpm | bpm | 流程引擎服务 | 6G | 是 | |
ctp-affair | ctp-affair | 待办服务 | 4G | 是 | |
ctp-affair-mobile | |||||
数据中台 | cdp-data | cdp-data | 数据中台服务 | 4G | 是 |
cdp-data-mobile | |||||
cdp-schedule | 数据分析定时任务 | 4G | 是 | ||
低代码平台 | udc | udc | 低代码定制平台 | 6G | 是 |
集成连接 | cip-capability | 能力接入服务 | 4G | 是 | |
cip-connector | cip-manager | 集成连接器 | 4G | 是 | |
cip-manager | third | 集成连接管理平台 | 4G | 是 | |
扩展服务 | ctp-media | 音视频服务 | 4G | 是 | |
cip-convert | office转换服务(在线预览) | 4G | 是 |
常见问题
jdk基础镜像上传及配置
仅私有化部署低代码平台时才需要上传jdk基础镜像,基础镜像可联系运维获取,获取后将基础镜像上传至所属环境的镜像仓库的/jdk_base目录下,同时通过安装工具修改app-sandbox的nacos配置:
gitlab创建群组
仅私有化部署低代码平台时才需要部署gitlab,而gitlab则用于存放低代码平台搭建的应用代码,操作步骤如下:
- 登录gitlab按下图创建群组
- 通过安装工具修改nacos public配置,将群组名分配填入parentGroupPath(搭建代码存放处)和parentExtendGroupPath(手写代码存放处)。修改配置后需重启UDC服务,并在V8“系统管理_沙箱管理”处重启沙箱才可生效
修改公共桶配置
- 按下图示例修改公共桶的属性和匿名用户权限,public桶属性改为public;匿名用户权限改为readonly
pvc创建
通过容器云平台创建pvc,避免应用因缺少pvc启动失败
- 创建方式:名称为“seeyonv8-${安装工具中定义的环境标识}-dump”;存储类和容量可自主选择
svc创建
通过容器云平台创建svc,仅需创建ctp-webapi-gateway、cip-openapi-gateway即可,svc创建生效后,需同步调整nginx配置
- svc创建示例如下:
- nginx配置修改点如下:nginx端口要与网关sevice svc端口对应(见上图中红框部分)
安装工具操作说明
安装工具初始化
微服务安装工具部署完成并启动后,需要配置安装工具的密码用于后续登录,首次登录后需选择部署模式及安装方式,以上初始化配置均完成后即可使用安装工具部署V8。
部署安装工具
- 将微服务安装工具部署包上传至服务器并解压
启动安装工具
- bin目录下找到安装工具启动脚本,通过脚本启动
设置密码
- 安装工具启动成功后,通过界面设置登录密码
登录安装工具
- 输入密码登录安装工具
选择部署模式及安装方式
- 首次登录安装工具后,基于部署资源确定部署模式及安装方式,确定后将不支持修改
修改密码
- bin目录下找到安装工具重置密码脚本,通过脚本重置密码
停用安装工具
- bin目录下找到安装工具停用脚本,通过脚本停用
环境管理
微服务安装工具提供了全新环境创建和托管已部署环境的能力,支持同时部署并管理多套环境,各环境均可以独立进行应用的初始化部署、应用升级、修改配置等操作。
创建全新环境
- 进入环境管理列表进行环境创建
- **第一步:**定义环境名称及环境简称。环境名称建议用中文进行描述,如:测试环境;环境简称将用于创建Nacos命名空间,建议用英文进行描述,如:test。环境部署成功后,以下参数将不支持修改。
- **第二步:**上传商务颁发的许可文件(license)
- **第三步:**将V8部署包上传至安装工具所在的服务器并解压,填写解压后的路径进行扫描,即可获取初始化安装的应用范围
- 按需选择需要部署的应用,并对各应用的部署及启动参数(K8s)、业务参数(Nacos)进行配置。部分参数已提供默认值,可按需修改
- **第四步:**对当前环境所需的基础设施参数进行配置。该步骤需要依赖组件的部署,组件部署请参照本手册第二章内容
- **第五步:**对基础设置配置进行测试连接检查,检查通过后会安装工具会自动部署服务;检查失败后请基于报错信息修改相关参数再试
继续部署
- 因异常导致环境部署中断,可选择继续部署
修改基础配置
- 环境部署完成后,可通过界面(或编辑器)修改Nacos public配置。Nacos public修改完成后需重启全部服务才能生效
- 通过编辑器修改Nacos public配置。
升级环境
升级环境是将已部署环境的全部必装应用进行批量升级,通常为应用的前两段版本号升级,如应用版本由3.5.x升级到3.6.x
- 通过环境管理发起应用升级,升级过程与创建全新环境的操作逻辑一致,一般需要更新license,上传此次升级的应用包
- 升级环境时,环境标识不支持修改,如许可有更新需上传最新的许可文件,应用包需使用升级目标版本的应用包
- 为确保环境升级的完整,通过安装工具升级应用并启动成功后,需登录系统管理员账号执行升级程序,具体操作详见《系统管理操作手册》的系统升级模块
许可授权
安装工具提供许可(license)的查询及在线/离线更新能力。初始化部署环境时必须要上传许可,否则V8将无法使用。许可的获取及更新可联系商务部门
查询证书编码
- 环境部署完成后,可切换到指定环境查询该环境的证书编码(license code)。
离线更新许可
- 从致远商务获取到最新的许可后,可通过离线上传的方式更新许可。许可更新完毕需要重启全部服务才能生效
在线更新许可
- 安装工具可以连通外网时,将自动从协同云查询是否有可更新的许可并给出提醒,此时可选择在线更新许可或忽略
服务管理
安装工具提供服务(应用)部署的全周期管理,包括服务部署阶段的K8s/Nacos配置上传、服务的前/后端资源上传、数据初始化及变更处理、服务启动及回滚等。部署过程中会输出结构化部署日志及启动日志,方便运维或实施及时发现并处理问题。
功能说明
操作 | 说明 |
---|---|
启动 | 对未启动的服务进行启动(安装工具操作K8s) |
重启 | 对已启动的服务进行重启(安装工具操作K8s) |
停止 | 对已启动的服务进行停止(安装工具操作K8s) |
回滚 | 对已启动的服务回滚至上一版本并重启服务 |
修改参数配置 | 修改服务的K8s配置或Nacos配置(安装工具操作K8s、Nacos) |
重新部署 | 对部署失败的服务重新部署 |
详情 | 查看已部署服务的pod状态 |
日志 | 查看服务的部署日志和K8s启动日志 |
状态说明
术语 | 说明 |
---|---|
部署中 | 通过安装工具对服务进行部署,包括服务的配置文件上传过程、前后端资源上传及备份过程、数据初始化及变更过程等 |
部署失败 | 部署过程中因异常导致的部署中断 |
启动中 | 通过控制K8S对服务进行启动 |
未启动 | 部署阶段完成但服务无法启动或启动失败 |
已启动 | 通过控制K8S对服务进行启动并启动成功 |
启动服务
- 将未启动的服务进行启动
重启服务
- 将已启动的服务进行重启
停止服务
- 将已启动的服务进行停止
修改参数
修改部署及启动参数(K8s)
- 支持通过界面或编辑器修改,参数修改完毕后需重启服务才可生效
* yaml配置请谨慎修改
修改业务参数(Nacos)
- 支持通过界面或编辑器修改,参数修改完毕后需重启服务才可生效
* yaml配置请谨慎修改
重新部署服务
- 对部署失败的服务重新部署
应用管理
安装工具提供应用的在线及离线更新能力,离线包可通过协同云下载或联系运维人员获取;在线更新指通过协同云下单成功后,如安装工具可连接外网,安装工具将自动从协同云获取可更新的应用清单。
离线更新应用
将应用包上传至安装工具服务器进行更新
- 将下载好的应用包上传至安装工具所在的服务器并解压,填写解压后的路径进行扫描
- 检查扫描出的应用参数配置是否完整,填写完成后即可进行应用安装
本地上传应用包进行更新
- 从本地上传应用包进行更新,由于应用包较大,上传耗时可能会很长,不建议采用此方式
- 应用包上传完成后参照上方说明进行应用安装
在线更新应用
- 安装工具可以连通外网时,将自动从出盘服务查询是否有可更新的应用,此时可以选择在线下载应用
- 应用下载完成后可进行应用安装,安装时需要检查应用参数配置是否完整(参照上方说明),确认无误后即可进行应用安装
组件管理
组件管理主要用环境出初始化部署时的全量前/后端组件上传及更新和私有化部署低代码平台的构建组件上传及更新。V8已对前端组件进行外部化处理,各应用部署完成后,需同时上传完整的前端业务组件才可正常使用V8。当私有化部署低代码平台时,低代码应用的构建会依赖构建组件,请及时上传;未部署低代码平台时可不关注该类型的组件
前/后端组件更新
- 将下载好的前/后端包上传至安装工具所在的服务器并解压,填写解压后的路径进行扫描
查看更新日志
安装工具更新
手动更新
- 备份数据:备份db/deployment.db
- 更新安装工具:下载最新版本的安装工具安装包,将安装包上传至服务器后解压覆盖,再环境之前备份的deployment.db
3.4 - 产品部署-虚拟机
1 环境要求
1.1 客户端服务要求
端 | 分类 | 兼容环境 | 详细需求 | 支持场景 | 不支持场景 |
---|---|---|---|---|---|
web端 | 操作系统 | windows | win7 32&64 win8.1 32&64 win10 32&64 win11 64 | 浏览器上全功能正常 | win7 32&64 win8.1 32&64 不支持 |
MAC | OS X 10.7以上版本 | 浏览器上全功能正常 | |||
Linux(信创) | UOS2.0SP1(芯片:鲲鹏、龙芯) 麒麟V10(芯片:飞腾) | 浏览器上全功能正常 | 浏览器上的功能不支持 | ||
分辨率 | 分辨率 | 最大支持2560*1440 最小支持1366*768 最佳效果分辨率1920*1080 响应式应用和大屏应用例外 | 范围内分辨率可使用的全部功能支持 | ||
浏览器 | windows | Chrome/Chromium 69+ /chrome65 Edge 79+ Firefox 65+ 360se 10.1+ IE 11+ 和以这些版本作为内核封装的各种浏览器 | 浏览器可使用的全部功能支持 Firefox、edge不支持pdf、签章 | IE 11+(不支持),chrome65只支持审批应用 | |
MAC | Chrome/Chromium 69+ Edge 79+ Firefox 65+ Safari 11.1+ | 浏览器可使用的全部功能支持 Safari 不支持pdf、签章 | |||
信创环境 | 国产化环境浏览器 360安全浏览器 | 浏览器可使用的全部功能支持 | 不支持 | ||
国产化环境浏览器 UOS浏览器 | 浏览器可使用的全部功能支持 | 不支持 | |||
桌面端 | 操作系统 | windows | win7 32&64 win8.1 32&64 win10 32&64 win11 64 | 移动桌面版安装、卸载,功能正常使用 | win7 32&64 win8.1 32&64 不支持 |
MAC | OS X 10.7以上版本 | 移动桌面版安装、卸载,功能正常使用 | |||
Linux(信创) | UOS2.0SP1(芯片:鲲鹏、龙芯) 麒麟V10(芯片:飞腾) | 移动桌面版安装、卸载,功能正常使用 | 等测试验证结果 | ||
移动端 | M5 | IOS设备 | iPhone设备:ios10以上系统 IPAD设备:ios10以上系统 | 安装、卸载、所有功能正常使用 | iPhone设备:ios12以上系统 IPAD设备:ios12以上系统 |
andriod设备 | andriod手机:5.2以上 andriod平板:5.2以上 | 安装、卸载、所有功能正常使用 | andriod手机:10.0以上 andriod平板:10.0以上 | ||
微信、企业微信 | 安装、卸载、所有功能正常使用 | iPhone设备:ios12以上系统 IPAD设备:ios12以上系统 | |||
钉钉 | 安装、卸载、所有功能正常使用 | andriod手机:10.0以上 andriod平板:10.0以上 | |||
welink | 安装、卸载、所有功能正常使用 | ||||
飞书 | 安装、卸载、所有功能正常使用 | ||||
文档客户端 | office | word | 2003以上 | 文档浏览、编辑正常使用 | 不支持 |
excel | 2003以上 | 文档浏览、编辑正常使用 | 不支持 | ||
powerpoint | 2003以上 | 文档浏览、编辑正常使用 | 不支持 | ||
wps | 文档/表格/演示 | wps2019专业版 | 文档浏览、编辑正常使用 | ||
AcrobatReader | 点聚轻阅读 | 文档浏览、编辑正常使用 | |||
wps在线服务 | |||||
签章 | pdf签章 | 点聚签章(点聚轻阅读) | |||
ofd签章 | 点聚签章(点聚轻阅读) | ||||
office签章 | 不支持 |
1.2 运行环境服务器要求
端 | 分类 | 兼容环境 | 详细需求 | 支持场景 |
---|---|---|---|---|
服务器 | 操作系统 | linux | 1、Linux Red Hat Enterprise 7、8 | 部署、启动、维护、备份 |
2、CentOs 7、8 | ||||
3、Ubuntu | ||||
4、信创:UOS2.0SP1(飞腾、龙芯、鲲鹏) | ||||
5、信创:麒麟V10(飞腾、龙芯、鲲鹏) |
1、检查是否64位
2、检查cpu内存是否达到最低配置要求8c16g,容器节点内存不敌低于8C64G
3、检查磁盘可用空间是否不低于200G
4、检查网卡速率是否符合基线要求,1000M
5、已部署各项服务内存之和,加上即将安装的产品内存配置(默认4G)不得超过物理内存80%
6、当前服务器可用内存不得低于物理内存60%
- Linux系统,ulimit -a检查open files和max user processes都不得低于60000
1.3 运行环境并发数描述
类型 | 安装资源 | 虚拟机规格 | 在线用户数对应服务器台数 | ||||
---|---|---|---|---|---|---|---|
cpu/mem/disk | 0-1k | 1-3k | 3-5k | 5-10k | >10k | ||
数据库 | Mysql主从 | 16C/64G/2TSSD | 2 | 2 | 2 | 4 | 具体评估 |
中间件 | Kafka集群 | 8C/16G/500G硬盘 | 3 | 3 | 3 | 6 | 具体评估 |
Redis集群 | 8C/16G/200G硬盘 | 6 | 6 | 6 | 12 | 具体评估 | |
nginx/keeplive代理 | 16C/32G/500G硬盘 | 2 | 2 | 2 | 2 | 具体评估 | |
nacos集群 | 8C/16G/200G硬盘 | 3 | 3 | 3 | 6 | 具体评估 | |
ClickHouse集群 | 16C/64G/1T硬盘 | 3 | 3 | 3 | 6 | 具体评估 | |
ElasticSearch集群 | 16C/32G/500G硬盘 | 3 | 3 | 3 | 6 | 具体评估 | |
a9c应用 | 部署a9c应用 | 16C/32G/200G硬盘 | 3 | 6 | 6 | 12 | 具体评估 |
应用部署说明:每个应用jvm占用4g左右,分布式部署到多台服务器上,根据服务器内存资源大小分配应用个数。 |
a9c应用兼容数据库及中间件非集群部署模式,生产环境数据库、中间件、应用都建议部署集群,确保环境稳定,其他环境可按需部署。
1.4 微服务部署图
1.5组件版本及端口
分类 | 资源 | 最低版本 | 默认维护端口 | 备注 |
---|---|---|---|---|
基础组件和数据库 | Kafka | 2.1.0 | 9092 | |
Redis | 5 | 6379 | ||
Mysql | 5.7 | 3306 | ||
Nginx | 适配 | 80、443 | ||
Nacos | 2.2.0 | 8848、9848 | ||
ClickHouse | 21.9.4.35 | 8123 | ||
ElasticSearch | 7.15 | 9200、9300 | ||
a9c应用 | 网关 | 产品最新版本 | 18084 | ctp/cip网关暴漏容器服务端口 |
用户中心 | 产品最新版本 | 8081 | 注册nacos端口 | |
门户 | 产品最新版本 | 8082 | 注册nacos端口 | |
组织模型 | 产品最新版本 | 8083 | 注册nacos端口 | |
流程引擎 | 产品最新版本 | 8084 | 注册nacos端口 | |
…… | 产品最新版本 | 808x | 注册nacos端口 | |
低代码平台 | 产品最新版本 | 8099 | 注册nacos端口 |
3 协同服务部署及维护
部署前置条件
部署前置条件:
- 提供部署环境账号信息(用户名、密码)
- 提供1.3中资源清单
- 访问域名及dns域名解析
- 制品仓库、镜像仓库需要公网访问权限
- 运行app服务器安装openjdk version “1.8.0_275”
部署资源清单
服务分类 | 后端服务 | 前端服务 | 说明 | jvm推荐内存 | 数据库创建 |
---|---|---|---|---|---|
网关服务 | ctp-webapi-gateway | webApi网关服务 | 4G | 否 | |
cip-openapi-gateway | 开放平台网关服务 | 4G | 否 | ||
基础服务 | app-common | app-common | 基础应用 | 4G | 是 |
app-office | |||||
ctp-message | ctp-message | 消息中心 | 4G | 是 | |
ctp-user | ctp-user | 用户(应用)中心 | 4G | 是 | |
ctp-user-mobile | |||||
organization | organization | 组织模型 | 4G | 是 | |
organization-mobile | |||||
m5 | m5-manage | 移动平台 | 4G | 是 | |
m5-desktop | |||||
m5-mobile | |||||
m5-login | |||||
m5-cloud | |||||
portal | login | 门户 | 4G | 是 | |
main | |||||
main-mobile | |||||
portal | |||||
portal-mobile | |||||
portal-portlet | |||||
流程待办 | app-approval | app-approval | 审批应用 | 6G | 是 |
app-approval-mobile | |||||
bpm | bpm | 流程引擎服务 | 6G | 是 | |
ctp-affair | ctp-affair | 待办服务 | 4G | 是 | |
ctp-affair-mobile | |||||
数据中台 | cdp-data | cdp-data | 数据中台服务 | 4G | 是 |
cdp-data-mobile | |||||
cdp-schedule | 数据分析定时任务 | 4G | 是 | ||
低代码平台 | udc | udc | 低代码定制平台 | 6G | 是 |
集成连接 | cip-capability | 能力接入服务 | 4G | 是 | |
cip-connector | cip-manager | 集成连接器 | 4G | 是 | |
cip-manager | third | 集成连接管理平台 | 4G | 是 | |
扩展服务 | ctp-media | 音视频服务 | 4G | 是 | |
cip-convert | office转换服务(在线预览) | 4G | 是 |
产品部署依赖 | 获取地址 |
---|---|
Nacos标准配置 | http://gitlab.seeyon.com/a9/devops/a9c_install.git |
Kafka Topic列表 | http://gitlab.seeyon.com/a9/devops/a9c_install.git |
Nginx配置模板及脚本 | http://gitlab.seeyon.com/a9/devops/a9c_install.git |
ddl脚本及data_init.sh | http://gitlab.seeyon.com/a9/devops/a9c_install.git |
后端程序镜像 | apps.jar |
前端静态文件 | 出盘流水线服务http://devops.seeyonv8.com |
产品使用license | 协同云获取 |
3.1 前端部署
3.1.1 创建文件存储路径
3.1.2 上传代理服务器
将前端静态资源上传至nginx服务器地址任意可读权限目录
例如 /opt/ 下,同步修改3.2.7.2中配置
删除 proxy_set_header Host xxxxx-public.xxxx; #文件存储域名
proxy_pass xxxxx-public.xxxx; #文件存储域名 → root /opt/frontend;
3.2 后端部署
3.2.1 安装openjdk version “1.8.0_275”
查看:
3.2.2 创建消息主题
无法开启自动创建topic或者不开启自动创建,需使用kafka控制台或者客户端命令创建
如下消息主题,其中${env}需修改为环境标识 例如:TEST
参数说明:
--topic:指定topic名称
--partitions:指定分区数
--replication-factor:用来设置主题得副本数,每个主题可以有多个副本
3.2.3 创建应用nacos配置
首先创建命名空间并修改脚本替换环境实际组件信息
脚本变量说明:
变量名称 | 说明 |
---|---|
${license-key} | 产品许可key,由致远互联厂商提供 |
${license-info} | 产品许可info,由致远互联厂商提供 |
${env} | 环境标识,例如test |
${dburl} | 数据库请求地址串 |
${dbport} | 数据库端口,默认3306 |
${dbusername} | 数据库用户名 |
${dbpassword} | 数据库密码 |
${dydburl}(可选) | 低代码应用数据库地址串,未购买此功能无需填写 |
${dydbport}(可选) | 低代码应用数据库端口,未购买此功能无需填写 |
${dydbusername}(可选) | 低代码应用数据库用户名,未购买此功能无需填写 |
${dydbpassword}(可选) | 低代码应用数据库密码,未购买此功能无需填写 |
${domain} | 访问域名,例如xxx.com |
${redisurl} | redis地址,例如ip1:port1,ip2:port2,ip3:ip3 |
${redispassword} | redis密码,如免密访问无需填写 |
${engine} | 消息服务类型,例如kafka / rocketmq |
${mqservers} | 消息服务地址,例如ip1:port1,ip2:port2,ip3:port3 |
${elasticsearchurl} | 搜索引擎地址,例如ip1:port1,ip2:port2,ip3:port3 |
${elasticsearchuser} | 搜索引擎用户名 |
${elasticsearchpwd} | 搜索引擎密码 |
${clickhouseUrl} | 数据仓库clickhouse地址,例如ip1:port1,ip2:port2,ip3:port3 |
${clickhouseusername} | 数据仓库clickhouse用户名 |
${clickhousepassword} | 数据仓库clickhouse密码 |
${storage-type} | 文件存储类型,例如oss/obs/minio |
${access-key-id} | oss秘钥 |
${access-key-secret} | oss秘钥 |
${api-endpoint} | oss java sdk调用使用域名,例如oss-cn-beijing-internal.aliyuncs.com |
${access-endpoint} | oss生成文件访问(前端上传/下载)地址域名,例如oss-cn-beijing.aliyuncs.com |
${private-bucket-name} | 私有桶名称 |
${public-bucket-name} | 公共桶名称 |
${ferryboatBucketName}(可选) | 摆渡桶名称,无低代码服务发布功能无需填写 |
${npmUrl} | npm私服地址,例如ip1:port1,ip2:port2,ip3:port3 |
${npmauth} | npm私服认证密码 |
${envList} | 数据库名称是否带环境标识后缀,可以空 |
${nacosuser} | 用于上传nacos配置 |
${nacospwd} | 用于上传nacos配置 |
${nacosUrl} | 用于上传nacos配置 |
${nacosnamespace} | 用于上传nacos配置 |
注:如需开通集成连接(短信平台等)功能/低代码发布服务/大数据报表功能需单独配置public/cip-capability/cip-connecor/udc/app-approval/cdp-data-datasource
3.2.4 数据库脚本初始化
初始化数据库,默认数据库名为应用名
3.2.5 启动应用
3.2.5.1 启动参数说明
参数 | 说明 |
---|---|
${env} | 应用运行环境标识,与nacos命名空间对应 |
${port} | 应用运行监控端口,同一台服务器不允许重复 |
${jvm} | 按需配置java启动jvm参数 -Xms4G -Xmx4G -Xss1M -XX:MetaspaceSize=384M -XX:MaxMetaspaceSize=384M |
${nacosip} | nacos注册地址或域名 |
${nacosport} | nacos注册端口,默认8848 |
${nacosusername} | nacos用户名 |
${nacospasswd} | nacos密码 |
${appname} | 应用名称 |
3.2.5.2 部署后端应用
上传应用包到服务器执行:
3.2.6 域名解析
解析如下域名到代理服务器ip,如slb或nginx的 ip地址
3.2.7 配置前后端nginx转发
3.2.7.1 nginx主配置文件修改
标红按需和实际情况修改 后端转发可以单独配置elb或者nginx转发
# vim /data/nginx/conf/nginx.conf
:wq保存内容
# mkdir -p /data/nginx/conf/conf.d
3.2.7.2 nginx include配置文件修改
# vim /data/nginx/conf/conf.d/demo.conf
:wq保存内容
3.2.8 访问
http://域名
3.3 租户初始化
使用系统管理员账号登录 system-admin 12345678登录选择租户管理
新建租户
选择该租户访问应用权限
3.4 应用部署检查
3.4.1 应用登陆访问检查
使用初始化租户登陆,页面正常显示且各服务组件正常
3.4.2 组件状态检查
检查中间件运行状态是否正常
3.4.3 应用运行状态检查
ps -ef | grep java
3.4.4 后端应用启动日志检查
开始启动标识:运行模式
启动成功标识:启动成功
3.4.5 服务环境标识检查
使用系统管理员账号登录 system-admin sy12345678登录基础设置-环境管理-环境配置 定义环境运行模式
--应用定制:代表此环境可以进行低代码应用定制、应用测试、发布到生产
--生产运行:代表此环境为正式使用环境,可以启用运行应用,产生正式数据,可以进行流程应用定制
3.5 前后端服务单点更新
3.5.1 前端更新
需致远实施根据《客户环境更新流程》通过流水线获取需要更新的前端静态资源包后更新至对应环境 例如:${nginx_home}/static
http://devops.seeyonv8.com/ci-service/publish/shell
3.5.2 后端更新
需致远实施根据《客户环境更新流程》通过流水线获取需要更新的后端jar 包后更新至对应环境 例如ctp-user-assemble.jar
http://devops.seeyonv8.com/ci-service/publish/shell
参照3.2.5.2 重启服务
3.5.3 数据库脚本更新
需致远实施通过《客户环境更新流程》获取需要更新的ddl后更新至对应环境
3.5.4 服务nacos配置更新
需致远实施通过《客户环境更新流程》获取需要更新的nacos配置后更新至对应环境
3.6 服务维护
3.6.1 服务启停
停止
启动
3.6.2 服务日志
查看容器标准输出日志
3.6.3 服务链路添加
容器java启动参数中添加skywalking-agent.jar等变量
例如:
3.5 - 系统备份和恢复
一、备份策略
关键备份点包括数据库、前端应用、Nacos配置文件,备份留存期为1周,备份频率为每天。
二、备份内容
1.结构化数据
类别 | 备注 |
---|---|
致远V8数据库数据 | 存储在MySQL数据库里的数据。 |
2.非结构化数据
类别 | 备注 |
---|---|
应用配置文件 | 存储在[V8产品目录]/base/conf下的数据 |
前端应用 | 前端多版本静态资源 |
后端应用 | 后端镜像、jar包、war包等资源 |
三、备份和恢复操作方法
1.数据库备份
评估数据量确保备份服务器磁盘资源充足,安装对应数据库客户端命令,例如安装mysql客户端执行 yum -y install mysql
编辑backup.sh 添加如下内容,执行该脚本实现手动备份mysql数据库数据
# vim backup.sh
#!/bin/sh
#0.0.0.0 替换为实际数据库地址
HOSTNAME="0.0.0.0"
#3306替换为实际数据库端口
PORT="3306"
#root替换为实际数据库用户名(读写权限)
username="root"
#root替换为实际数据库密码
password="root"
#备份时间戳
DATE=`date "+%Y%m%d%H%M%S"`
#备份目录(/data/dbback可以自定义)
DIR="/data/dbback/"
#要备份的数据库名称("ctp_user portal"替换为为要备份的数据库实际名称)
databasenames="ctp_user portal"
echo $databasenames
#执行备份
[ -d ${DIR} ] || mkdir -p ${DIR}/${DATE}
for databasename in $databasenames
do
mysqldump -h${HOSTNAME} -P${PORT} -u${username} -p${password} --set-gtid-purged=OFF $databasename > ${DIR}/${DATE}/${databasename}.sql
done
echo "$databasenames数据库备份完成"
添加计划任务实现定时备份mysql数据库数据,例如每天22点备份数据
# crontab -e
#每天22点备份数据
* 22 * */1 * /脚本路径/backup.sh
2.恢复数据库备份
编辑recover.sh 添加如下内容,执行该脚本实现mysql数据库恢复数据
# vim recover.sh
#!/bin/sh
#0.0.0.0 替换为实际数据库地址
HOSTNAME="0.0.0.0"
#3306替换为实际数据库端口
PORT="3306"
#root替换为实际数据库用户名(读写权限)
username="root"
#root替换为实际数据库密码
password="root"
#备份目录(替换为实际备份路径)
DIR="/data/dbback/20240226/"
#要恢复的数据库名称("ctp_user portal"替换为为要恢复的数据库实际名称)
tgdbs="ctp_user portal"
echo $databasenames
#执行备份
for databasename in $databasenames
do
echo $databasename
mysql -h${HOSTNAME} -P${PORT} -u${username} -p${password} -e "CREATE DATABASE IF NOT EXISTS $databasename default charset utf8mb4;"
mysql -h${HOSTNAME} -P${PORT} -u${username} -p${password} $tg_db < $DIR/${databasename}.sql
done
echo "$databasenames数据库恢复完成"
3.前端应用备份
根据前端静态资源部署模式分别使用shell命令或者客户端命令进行备份,非os服务器中需下载安装客户端命令,例如oss客户端命令程序
- 部署在阿里云oss中
ossutil64 cp -rf oss://实际部署桶名称/应用名称 oss://备份桶名称/应用名称
- 部署在华为云obs中
obsutil cp -r -f -flat obs://实际部署桶名称/应用名称 obs://备份桶名称/应用名称
- 部署在自建minio中
mc cp -r local/yljr-prd-public/应用名称/ /备份目录位置/应用名称/
- 部署在os服务器中
cp -rf /实际部署路径/应用名称/ /备份目录位置/应用名称/
4.恢复前端备份
根据前端静态资源部署模式分别使用shell命令或者客户端命令进行恢复,非os服务器中需下载安装客户端命令,例如oss客户端命令程序
- 部署在阿里云oss中
ossutil64 cp -rf oss://备份桶名称/应用名称 oss://实际部署桶名称/应用名称
- 部署在华为云obs中
obsutil cp -r -f -flat obs://备份桶名称/应用名称 obs://实际部署桶名称/应用名称
- 部署在自建minio中
mc cp -r /备份目录位置/应用名称/ /部署位置/应用名称/
- 部署在os服务器中
cp -rf /备份目录位置/应用名称/ /实际部署路径/应用名称/
5.后端应用备份
- k8s容器
设置 Deployment 保留的历史版本数量(默认保留10个版本):<number>为保留版本数量
kubectl rollout history deployment/<deployment-name> --revision-limit=<number>
- jar包war包模式
cp -rf /部署路径/应用名称.jar /备份路径/应用名称.备份版本.jar
cp -rf /部署路径/应用名称.war /备份路径/应用名称.备份版本.war
6.恢复后端备份
- k8s容器恢复
查看 Deployment 的历史版本:
kubectl -n <namespace-name> rollout history deployment/<deployment-name>
回滚到指定版本
kubectl rollout undo deployment/<deployment-name> --to-revision=<revision-number>
例如 回滚到第二个历史版本
kubectl rollout undo deployment/<deployment-name> --to-revision=<revision-number>
- jar包war包模式恢复
cp -rf /备份路径/应用名称.备份版本.jar /部署路径/应用名称.jar
cp -rf /备份路径/应用名称.备份版本.war /部署路径/应用名称.war
重启应用重新加载应用包,例如部署在tomcat中,重启tomcat重新加载应用war包
7.备份nacos配置文件
登陆nacos控制台,导出要备份的配置
备注1:nacos单个配置默认备份历史版本
备注2:使用nacos open api进行配置获取和恢复,参照https://nacos.io/zh-cn/docs/open-api.html
8.恢复nacos配置文件
登陆nacos控制台选择要恢复配置的命名空间导入要恢复的配置
备注:nacos单个配置可以根据历史版本进行恢复操作
3.6 - 监控工具部署
一 概述
本文主要记录下如何使用 Prometheus +Grafana 基于kubernetes容器搭建对各种服务的性能监控
prometheus 官网地址:https://prometheus.io/
Github 地址:https://github.com/prometheus/prometheus
Grafana 官网地址 https://grafana.com/
Grafana dashboards模板地址 https://grafana.com/grafana/dashboards/
架构图
监控组件部署
prometheus-server部署
部署说明:
- 监控数据持久化,建议修改部署文件中 - mountPath: /prometheus到nfs 等持久化存储
- 配置引用configMap,便于维护
- namespace命名空间自定义
- 配置修改参见官网地址:https://prometheus.io/
- 容器pod 节点node采用自动发现功能
- 请注意,Prometheus要求主机时间和浏览器时间一致,如不一致请同步: ntpdate time1.aliyun.com
部署文件:
对部分标红处修改实际需要值、配置持久化存储,使用kubectl apply -f xxx.yaml进行部署
自动发现配置说明
服务发现机制
prometheus默认是采用pull方式定时去目标拉取数据,每个被抓取目标向prometheus提供一个http接口,prometheus需要知道向哪个地址拉取数据,通过prometheus.yml中scrape_configs定义的job来实现目标的定义.这样就无法感知到新加入的变更信息.
通过daemonset实现在k8s环境中,当有新节点加入node-exporter和cadvisor的自动安装.
如果是传统方式,需要手动将新地址加入,并重启prometheus.
动态服务发现能够自动发现集群中的新端点,并加入配置中,通过服务发现,prometheus能够查询到需要监控的Target列表,然后轮询这个Target获取监控数据.
添加数据源的方法有很多种,常见的有静态配置和服务发现配置.
prometheus支持多种服务发现,常见的有:
kubernetes_sd_configs: kubernetes服务发现,让prometheus动态发现kubernetes中被监控的目标
static_configs: 静态服务发现,基于prometheus配置文件指定监控目标
dns_sd_configs: DNS服务发现监控目标
consul_sd_configs: Consul服务发现,基于consul服务动态发现监控目标
file_sd_configs: 基于指定的文件事先服务发现,prometheus定时读取文件如果发生变化则加载新目标
标签重写
prometheus的relabeling(标签重写)可以在抓取到目标实例之前把目标实例的元数据标签动态修改,动态添加或覆盖.
Prometheus在加载Target成功之后,在Taret实例中,都包含一些Metadata标签信息,默认标签有:
标签 | 含义 |
---|---|
_address_ | 以:格式显示targets的地址 |
_scheme_ | 采用的目标服务地址的Scheme形式,HTTP或者HTTPS |
_metrics_path_ | 采用的目标服务的访问路径 |
修改标签的时机:
relabel_configs: 在抓取数据之前,可以使用relabel_configs添加一些标签,也可以值采集特定目标或过滤目标
metric_relabel_configs: 在抓取数据之后,可以使用metric_relabel_configs做最后的重新标记和过滤
- label
source_labels: 源标签,没有经过relabel处理之前的名字
target_labels: 通过action处理之后的新标签名字
regex: 正则表达式,匹配源标签
replacement: 通过分组替换后标签(target_label)对应的值
-
action
标签 含义
replace 替换标签值,根据regex正则匹配到源标签的值,使用replacement来引用表达式匹配的分组
keep 满足regex正则条件的实例进行采集,把source_labels中没有匹配到regex正则内容的target实例丢弃,只采集匹配成功的实例
drop 满足regex正则匹配条件的不采集,把source_labels中匹配到regex正则内容的Target丢弃,只采集没有匹配到的实例
Hashmod 使用Hashmod计算source_labels的Hash值并进行对比,基于自定义的模数取模,以实现对目标进行分类,重新赋值等功能
labelmap 匹配regex所有标签名称,然后赋值匹配标签的值进行分组,通过replacement分组引用替代
labelkeep 匹配regex所有标签名称,其他不匹配的标签都将从标签集中删除
labeldrop 匹配regex所有标签名称,其他匹配的标签都将从标签集中删除
-
常见发现类型(如上配置)
-
node
-
service
-
endpoint
-
pod
注意:监控目标pod中需要配置prometheus注解
-
配置nacos采集应用指标埋点
修改nacos 中对应环境的配置列表,找到DataId 为public记录,编辑配置,设置 seeyon.system.metric 为true,重新部署应用生效。
grafana部署
使用kubectl apply -f xxx.yaml进行部署
alertmanager 部署
告警方式及规则
- 命名空间自定义
- 告警方式自定义
- 告警规则自定义 参照https://prometheus.io/docs/alerting/latest/configuration/
对部分标红处修改实际需要值,使用kubectl apply -f xxx.yaml进行部署
prometheus-pushgateway 部署
使用kubectl apply -f xxx.yaml进行部署
node-exporter部署
- node-exporter
可配置自动发现,也可以使用demonset方式
redis-exporter部署
对部分标红处修改实际需要值,使用kubectl apply -f xxx.yaml进行部署
kafka-exporter部署
对部分标红处修改实际需要值,使用kubectl apply -f xxx.yaml进行部署
mysql-exporter部署
对部分标红处修改实际需要值,使用kubectl apply -f xxx.yaml进行部署
grafana配置
准备配置文件
前往http://gitlab.seeyon.com/a9/devops/a9c_install.git下载最新配置文件,克隆a9c_install仓库,进入monitor/grafana-dashboards目录,该目录下的文件为grafana监控大盘配置文件。
登录grafana
默认用户名:admin 密码:admin
配置数据源
进入系统,点击配置->数据源->添加数据源。
数据源类型选择Prometheus,在URL中填入prometheus-server地址。
导入仪表盘
进入如下界面,导入第一步准备好的grafana大盘配置文件。
选择上一步配置的数据源。
查看V8应用监控
点击应用名称进入应用指标明细界面。
4 - 报表部署
服务安装启动配置
安装流程概述
服务的安装基本流程为:硬件环境准备—>安装操作系统—>安装数据库服务—>安装COP-BI服务—>启动服务—>客户端访问。
以下对操作系统、数据库服务等相关流程中的注意事项进行说明。
操作系统准备
Windows环境安装准备
为了方便启动,协同安装时,将注册一些Windows服务项(一般为Seeyon**Service、等),将涉及到服务项、注册表的修改。请遇到安全软件或操作系统提示时,选择允许修改,或在协同安装前先暂停安全软件(如360安全卫士、金山等)。
Linux环境与安装准备
使用SHH工具连接Linux服务器,推荐使用xshell等客户端工具。
Linux或者Unix系统时安装程序依赖GUI图形界面,Linux版本众多有的系统预装了GUI有的系统则没有,如果系统提示GUI不存在的话,可以使用安装命令yum groupinstall -y “Server with GUI”,进行安装。GUI安装成功后再次运行CopBIInstall安装程序启动脚本。终端-终端类型调整为linux。
COP-BI服务安装
注意事项
安装前,请先设置操作系统时区。COP-BI服务器时区应与数据库服务器时区一致。此时区尽量与协同大部分用户所在时区保持一致。COP-BI服务器时区的变化,将导致系统提示类的数据异常。
协同服务安装程序入口文件说明:
序号 | 安装程序文件 | 说明 |
---|---|---|
1 | CopBIInstall | COP-BI安装入口文件 |
安装步骤
启动安装程序之前环境检查项:
1、检查是否支持的操作系统类型,Windows Server系统,CentOS6以上,SuSE11以上
2、检查是否64位
3、检查cpu内存是否达到最低配置要求8c16g
4、检查虚拟内存是否不低于10240M
5、检查磁盘可用空间是否不低于100G
6、检查网卡速率是否符合基线要求,1000M
7、已部署各项服务内存之和,加上即将安装的产品内存配置(默认4G)不得超过物理内存80%
8、当前服务器可用内存不得低于物理内存60%
9、Linux系统,ulimit -a检查open files和max user processes都不得低于60000
安装步骤:
- 第一歩:双击安装程序CopBIInstall.bat文件(Linux环境为CopBIInstall.sh)
- 第二步:开始进行安装。选择【我接受该许可协议条款】,选择【下一步】;
- 第三步:选择软件的安装路径,选择【下一步】;
- 第四歩:选择数据库类型,并配置数据库连接信息(数据库类型、数据库名称、服务器地址、端口、用户名、密码),选择【下一步】;
- 第五步:确认安装信息是否正确,选择【下一步】;
- 第六步:开始安装,安装完成后,出现S1密码设置界面
- 第七步:点击下一步,安装完成,会自动启动S1服务。
- 第八步:S1服务启动完成后,自动弹出登录页面,输入S1默认账号admin及第六步中设置的密码。
- 第九步:在S1服务管理中设置CopBI服务
- 第十步:在基础设置中填写:
- V5服务的数据库连接
- V5服务的域名
- Redis服务连接配置
- 附件存储位置
- (可选)若需要使用独立的Clickhosue数据仓库,则需要配置Clickhouse
- 若V5服务版本是8.2sp1及以上或者打了安全信道补丁的,则需要配置V5信道信息(下文会说明V5信道的创建及其配置)
V5连接配置
V5系统管理员登录到后台管理,进入信息集成管理下的数据中台BI连接配置,填入COPBI的域名及端口
V5安全信道创建及配置
创建信道
V5系统管理员登录到后台管理,在三方互信授权中新建,其中信道ID和密钥是默认生成的,回调地址需要手动填入,格式为:{网络协议}://{CopBI域名:端口}/service/cdp-data/sso/token-receive
配置信道
进入V5安装目录下ApacheJetspeed/webapps/seeyon/WEB-INF/cfgHome/base目录
修改dataSynchronizationAccessInfo.properties配置文件找到interface for v8下面的配置,将注释去掉并把每一行等号后面的ID替换为上一步中新建的信道ID
修改完成后,重启V5服务
启动COP-BI服务
Windows启动
- 建议使用S1管理系统进行服务的启动与停止
Linux启动
- 建议使用S1管理系统进行服务的启动与停止
日志
- 安装日志存放在安装后产品目录下Logs文件夹,如:C:\Seeyon\CopBI\Logs;
- 启动日志存放在安装后产品的ApacheJetspeed/logs目录。
客户端访问
在S1中启动COP-BI成功后,使用V5用户(授权了“数据中台BI管理员“角色)登录V5,进入报表中心 –> 报表管理 –> 数据中台BI
点击报表设计器按钮即可进入COP-BI页面进行报表设计