1. 概述
1.1 版本
运维平台版本 |
---|
V1.5.5 |
1.2 功能简介
运维平台支持部署并直接接入全新FineReport、FineBI、FineDataLink应用。
本文将介绍,如何通过 运维平台 ,容器化部署全新的FineBI单机项目。
注1:请在容器化部署前,先部署好FineOps运维平台。安装步骤请参见:部署运维平台 。
注2:本文面向服务器资源不足或端口限制较高的用户,操作步骤较为详细,篇幅较长。
如能准备充足资源的全新服务器,可参考快速指南进行部署:部署新帆软项目
注3:本文根据大部分用户的部署习惯,在一台服务器部署整个FineBI单机项目。用户也可额外准备一台组件服务器,用于部署MySQL外接配置库和ElasticSearch日志服务。
2. 了解项目组件作用
运维平台部署的FineBI项目,不仅仅包括工程,还包括配套的外接配置库、运维组件等。
本节详尽的介绍每个组件的作用。
组件 | 是否必备 | 说明 |
---|---|---|
bi6 | 必须部署 | 组件作用:FineBI的工程节点组件,其中不带任何的demo数据 |
ops_agent | 必须部署 | 组件作用:用于管理组件、升级容器、收集物理服务器和组件的各种指标信息 |
nginx | 单机可选 | 组件作用:
安装说明:
|
elasticsearch | 单机可选 | 组件作用: 提供日志存储服务。替换产品中原有的swift(logdb)作为日志存储,对FineBI项目中工程、外接数据库、业务库和其他组件的请求进行采集 安装说明:
|
filebeat | 与elasticsearch配套安装 | 组件作用:提供日志采集服务,与elasticsearch组件配套 |
mysql | 必须安装,支持自备 | 组件作用:
安装说明:
|
3. 准备项目服务器
3.1 确认服务器数量
本文根据大部分用户的部署习惯,在一台服务器部署整个FineBI单机项目。
如服务器资源充足,用户可参考推荐配置准备两台服务器,其中一台组件服务器,用于部署MySQL外接配置库和ElasticSearch日志服务。
请准备好服务器的内网IP、用户名、密码。
注:FineOps运维平台,和FineBI项目,不要部署在同一服务器下。
如果FineOps和FineBI项目处于同一环境下,当FineBI项目服务器发生异常时,FineOps可能也出现故障,从而无法起到运维的作用。
类型 | 要求 |
---|---|
推荐配置 | 建议准备2 台服务器 这两台服务器中不部署其他应用、帆软项目、运维平台,确保项目的独立性
|
最低配置 (本文方案) | 至少准备1个服务器 这一台服务器中不部署其他应用、帆软项目、运维平台,确保项目的独立性
|
3.2 确认操作系统配置
配置 | 推荐 | 支持/最低要求 |
---|---|---|
操作系统类型 | Linux | Linux |
操作系统架构 | X86_64 | X86_64 |
操作系统内核 | 3.10版本及以上 | 3.10版本及以上 |
操作系统软件 | Ubuntu 22 版本 | Ubuntu 18.04.4 及以上版本 CentOS 7.3~7.9 版本 redhat 7.6 及以上版本 |
3.3 确认资源配置
部署FineBI项目的服务器应当满足下表条件:
注:本节仅描述服务器最低配置要求,推荐配置请参考:确定FineBI节点数量
服务器类型 | 配置 | 最低要求 |
---|---|---|
主应用服务器 | CPU | 最低8核 |
磁盘类型 | XFS | |
剩余空闲 磁盘大小 | 服务器中存在一个分区剩余可用空间大于 500G 注:可使用命令「df -h」查询磁盘空间,必须要有任一分区满足条件,不可将分区容量加和 | |
剩余空闲 物理内存 | 32G以上 | |
组件服务器 (本示例不使用) | CPU | 最低4核 |
磁盘类型 | XFS | |
剩余空闲 磁盘大小 | 服务器中存在一个分区剩余可用空间大于 50G 注:可使用命令「df -h」查询磁盘空间,必须要有任一分区满足条件,不可将分区容量加和 | |
剩余空闲 物理内存 | 8G以上 |
之所以需要上表的配置,是因为FineBI项目的每个组件,有最低运行配置要求,如下表所示:
组件 | CPU使用上限 | 内存使用上限 | 内存配置xmx | 磁盘 |
---|---|---|---|---|
FineBI | 16Core | - | 默认内存为: 机器内存减掉10G后的内存大小 最大不会超过32G | 500G |
ops_agent | 1Core | - | 1G | - |
filebeat | 0.1Core | 0.1G | - | - |
elasticsearch | 1Core | - | 2G | 50G |
nginx | 1Core | - | - | - |
mysql | 2Core | - | - | 50G |
3.4 确认端口占用
FineBI项目中存在很多组件,组件的运行需要占用服务器端口。
在部署前,请确保默认的映射端口是否已被使用,如已被使用,请安排好其他空闲端口。
注1:如准备了组件服务器,组件服务器中会安装nginx、mysql、elasticsearch、ops_agent组件,请检查对应端口。
注2:如准备了多个服务器,每个服务器均会安装ops_agent,请确保各服务器准备的ops_agent端口一致,因为只能设定一个。
组件 | 默认端口 | 作用 |
---|---|---|
bi6 | 8080 | 工程占用端口 |
12100 | 宕机处理工具端口 | |
filebeat | - | 不占用端口 |
nginx | root用户部署:80 非root用户部署:8090 | 组件占用端口 |
mysql | 3306 | 组件占用端口 |
elasticsearch | 9200 | 组件占用端口 |
ops_agent | 9070 | 组件占用端口 |
3.5 确认服务器网络互通
为了确保用户可以正常访问FineBI项目,为了确保运维平台可以正常部署和监测FineBI项目。
服务器需要对外开放一些端口,供不同场景使用。
3.4 节所述的占用端口全部互通即可。
注:如自行准备了外接配置库,外接配置库所在的服务器,也需要和FineBI项目服务器内网互通。
2)外网与FineBI项目
作用 | 外网 | 关系 | 运维平台 |
---|---|---|---|
管理员访问运维平台 | 运维人员 任意IP | 访问-> | 1)如配置了SSL:443 2)如部署了nginx组件,未配置SSL: root部署:80 非root部署:8090 3)如未部署nginx组件,未配置SSL: 8080 |
读取/填入数据 | 业务数据库 | <-访问-> | 1)如配置了SSL:443 2)如部署了nginx组件,未配置SSL: root部署:80 非root部署:8090 3)如未部署nginx组件,未配置SSL: 8080 |
运维平台拉取云端仓库镜像 | 帆软云端镜像仓库 fineops-registry.cn-hangzhou.cr.aliyuncs.com:443 | <-访问 | registry 5000 |
3)运维平台与FineBI项目
作用 | 运维平台 | FineBI项目 | |
---|---|---|---|
基础运维 | 运维平台的Nginx负载均衡 root部署:80 非root部署:8090 配置了SSL:443 | <-访问 | 每个工程节点 8080 |
链路追踪 | 运维平台的skywalking_oap(11800、12800) | <-访问 | 每个工程节点 8080 |
传输FineBI项目的服务器、组件指标信息给运维平台 | 运维平台的Nginx负载均衡 root部署:80 非root部署:8090 配置了SSL:443 | <-访问 | ops-agent(工程节点+集群组件节点,任何服务器) 9070 |
从运维平台的镜像仓库拉取组件进行FineBI项目部署、升级、还原 | registry 5000 | <-访问 | 工程节点+集群组件节点,任何服务器 |
3.6 准备挂载目录
项目挂载目录,是将宿主机上必要的工程文件与容器中的文件进行关联的方式。用于实现数据持久化、文件快速查看等功能。
运维平台部署的FineBI项目,重要文件均外挂。请提前在服务器的空闲磁盘下,新建好挂载目录。
注:如准备了主应用和组件服务器,请在每一台服务器的空闲磁盘下均新建好挂载目录。
1)查看服务器磁盘空间
命令:df -h,找出可用空间较大的挂载点
例如本示例中,服务器最合适的挂载目录为/home目录下
2)新建文件夹
使用 mkdir 命令创建文件夹(本示例在/home目录下创建一个名叫fanruan的文件夹):mkdir /home/fanruan
使用 chmod 命令设置文件夹的权限(本示例直接赋777权限):chmod 777 /home/fanruan
3)外挂内容简介
当FineBI项目部署成功后,在/挂载目录/fanruanxxx/文件夹下,存放的即为项目各个组件的外挂内容。
只有这些外挂的内容,才能持久化,不会因为容器升级/重启,导致文件丢失。
请勿在/挂载目录/fanruanxxx/bi6文件夹下新建文件夹,会因为未持久化而丢失。
如需上传资源,可上传到子文件夹中,建议优先上传至/挂载目录/fanruanxxx/bi6/help文件夹中。
文件夹 | 对应容器内路径 | 说明 |
---|---|---|
bi-data | /usr/local/tomcat/webapps/webroot/bi-data | FineBI抽取数据 |
classes | /usr/local/tomcat/webapps/webroot/WEB-INF/classes | 工程调用的默认和自定义class文件 |
config | /usr/local/tomcat/webapps/webroot/WEB-INF/config | 平台调用的配置库(finedb)相关文件 |
customlib | /usr/local/tomcat/webapps/webroot/WEB-INF/customlib | 工程定制/外部引入的JAR包 |
dpworks | /usr/local/tomcat/webapps/webroot/WEB-INF/dpworks | FineDataLink任务相关的配置文件(如不存在该文件夹,说明工程没有使用FDL相关功能) |
local | /usr/local/tomcat/webapps/webroot/WEB-INF/local | 存放新引擎的编译文件 |
logs | /usr/local/tomcat/webapps/webroot/logs | swift日志(即logdb) |
mount | /usr/local/tomcat/mount | 存放setenv.sh文件,用于设置工程的环境变量和启动参数 |
plugins | /usr/local/tomcat/webapps/webroot/WEB-INF/plugins | 插件相关文件 |
tomcat_logs | /usr/local/tomcat/logs | Tomcat通用日志 |
help | /usr/local/tomcat/webapps/webroot/help | 工程需要调用的一些css、js、html、图片等资源 用于存放自定义文件 |
assets | /usr/local/tomcat/webapps/webroot/WEB-INF/assets | temp_attach:存放着工程Excel原始文件信息 vcs:FineReport模板备份文件 drivers:驱动管理上传的驱动,会自动同步到工程WEB-INF/drivers文件夹中 其他文件:通用的共享持久化目录 |
backup | /usr/local/tomcat/webapps/webroot/backup | 工程历史备份文件 |
reportlets | /usr/local/tomcat/webapps/webroot/WEB-INF/reportlets | FineReport模板存放目录 |
resources | /usr/local/tomcat/webapps/webroot/WEB-INF/resources | 存放工程相关的资源配置文件 |
schedule | /usr/local/tomcat/webapps/webroot/WEB-INF/schedule | 定时调度生成的文件 |
treasures | /usr/local/tomcat/webapps/webroot/WEB-INF/treasures | 云端运维生成的数据包 |
4. 确认镜像仓库
部署FineBI项目中的各个组件,是需要通过镜像进行部署的。要么镜像仓库已有镜像,要么支持从云端拉取镜像
根据下载的finekey类型不同,运维平台镜像仓库中的镜像版本不同。
管理员登录运维平台,点击「维护中心>镜像管理」,即可查看当前镜像仓库中存放的组件镜像和版本。
1)确认是否存在第二章所需组件的镜像。
2)确认镜像版本是否符合你的部署需求。
如满足上述两条需求,则可结束确认;如不满足任一需求,则请继续下文确认步骤。
1)管理员登录运维平台,点击「维护中心>镜像管理>配置」,即可查看运维平台的镜像仓库地址。
2)确保镜像仓库地址支持访问以下外网地址,即可在部署FineBI项目时自动从帆软云端仓库拉取最新组件镜像。
功能 | 网址 |
---|---|
获取镜像 更新运维平台 更新FineBI项目组件 | 域名:fineops-registry.cn-hangzhou.cr.aliyuncs.com 端口:443 |
获取更新信息 | 四选一,有一个能联通即可: https://cloud.fanruan.com/config |
5. 部署新FineBI单机项目
本节正式进入部署FineBI单机项目的操作环节。请在开始部署前务必确认上文的所有内容,否则可能会部署失败!
5.1 新增项目
管理员登录 FineOps 运维平台,点击「部署新项目」。
5.2 项目设置
项目设置是配置项目的类型、需要安装的组件、占用的端口等信息。
进入「项目设置」界面,输入相关项目信息,点击「下一步」,如下图所示:
各配置项如下表所示:
信息 | 说明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
项目名称 | 自定义项目的名称 项目名称不允许为空 项目名称仅支持中文、英文大小写、数字 项目名称长度最大为12位 项目名称不允许与已有项目重名 | ||||||||
应用类型 | 选择「FineBI」 | ||||||||
应用服务数量 | 选择「1BI应用」 | ||||||||
访问路径 | 应用的访问链接为{域名/IP}/{访问路径}/decision 支持用户自定义应用的访问路径,访问路径默认为webroot 需要注意: 如需配置短域名/IP访问工程,请务必配置访问路径为空,项目部署成功后无法更改 此时工程对应的root目录访问路径为:http://IP:端口/root 详情请参见:使用IP/域名访问项目 | ||||||||
自定义部署组件 | 即可选安装的组件,支持不部署/部署帆软准备的组件/对接用户自行准备的组件 此处不包括必须安装的组件,各种组件的作用请参考第二章 需要注意:
|
5.3 节点配置
配置完需要的组件和端口后,即可进入「节点配置」。需要新增一个主应用节点,即为添加主应用服务器的相关信息。
1)点击「新增节点」,选择节点类型为「主应用」,填写相关设置项,点击「测试连接」。
具体节点设置如下图所示:
节点设置 | 说明 |
---|---|
节点类型 | 请选择「主应用」 注:FineBI项目需要独占服务器,即该主应用服务器上不建议部署其他工程或内容,包括运维平台 |
主机 | 请输入节点主机IP(内网IP) 注:同一项目中,主机不支持重复添加多次 |
端口 | 请输入节点端口号,默认为22 |
用户名 | 请输入有sudo权限的服务器用户名 |
验证方法 | 支持两种:密码、公钥 |
挂载路径 | 请输入节点安装目录的服务器路径,即2.6节设置的目录 默认为~/data,~代表所使用的服务器用户的主目录 注:可在终端使用该用户账号访问服务器,输入echo $HOME命令查看该用户的主目录路径 |
外网IP | 选填项 如果服务器不支持内网访问,仅支持外网映射,请务必填写可联通的外网IP |
2)效果预览
若主机用户名等信息校验成功,即可添加一个主应用节点。如下图所示:
注1:若网络环境不满足前置准备环节要求,节点连接失败,则出现报错提醒,无法正确新增节点。
注2:若服务器配置不符前置准备环节最低要求,则出现报错提醒,无法正确新增节点。
5.4 部署列表
节点配置完成后,点击「下一步」,进行「部署列表」确认界面。
用户可在该界面,确认每台服务器上待部署的组件。
用户可对每一个组件的端口、用户名密码进行调整,如下图所示:
需要注意:
1)请务必修改并记住mysql、elasticsearch组件的密码,这些组件的默认密码随机生成。
2)如忘记相关组件用户名和密码,可通过导出部署信息找回,详情请参见:导出项目部署信息
5.5 开始部署
配置完成后,点击「开始部署」,进入部署过程。
弹窗中会显示镜像拉取的进度,以及各个组件的部署情况,若部署失败则显示失败原因。
注1:部署过程中,用户可点击「隐藏至后台进行」,正常进行运维平台其他操作。
注2:部署过程中,支持在部署过程中点击「中止部署」按钮,停止部署并回退所有已有部署操作。
5.6 效果预览
通过运维平台成功部署的新项目,自动接入运维平台的项目管理列表中,可进行相关运维操作。
其中的访问地址,即为该FineBI项目的访问地址。点击即可在浏览器新窗口访问该地址,进入工程初始化配置界面。