百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

一文搞懂FineBI的安装与启动说明,提高效率200%

csdh11 2024-12-26 12:26 15 浏览

一、FineBI端口开放列表

1. 概述

在安装完成 FineBI 后,服务器需要开放一些端口供系统监听使用。对于服务器安全要求高的客户来说,在启动之前需要保证这些端口的开放,否则 FineBI 无法正常启动。

2. Spider 单机部署开放端口

注:若使用了 Nginx 服务器,则可能需要单独修改 Requestport,详情参见:Nginx 常见报错及解决方案

二、FineBI安装目录结构

1. 概述

在 FineBI 安装完成以后,进入安装目录可以看到安装文件。FineBI 安装文件本质上就是一个 Tomcat 。本文详细介绍安装目录结构。

2. 安装根目录

每个文件存放的内容如下表所示:

文件

内容

.install4j

FineBI 的图片

bin

  • BI 工程启动文件所在的目录,其中可以在 finebi.vmoptions 中修改 BI 分配的内存大小和编码方式
  • 这个目录下的 ROOT 文件夹下是所有的数据表以及临时数据表,也是默认进行数据更新存放位置,可自行调整位置,详情参见:数据更新构成与存放
  • 这个目录下的 output.log 存放的是访问前端时输出的信息概况
  • bin 下面的 log 相关文件可以清理

jre

是在 Java 运行环境下支持 Java 应用程序

lib

存放 BI 启动的时候的加载动画的 JAR 包

logs

包含工程运行日志、GC日志注:清空一般不会对运行带来影响。

server

Tomcat 的根目录,包含 Tomcat 的配置文件夹以及 Tomcat 自带的依赖文件夹

temp

  • 存放 Tomcat 运行过程中产生的临时文件
  • 同时为导出 Excel 文件的缓存路径,可在 %FineBI%/bin 目录下的 finebi.vmoptions 文件中通过修改参数Djava.io.tmpdir=.\temp 来自行修改缓存存放位置
  • 可以在工程停机后删除文件夹,释放内存

注:temp 临时目录在工程运行时不建议做清理,需要在工程停机时清理,如果清理后提示报错需要工程重启

webapps

存放应用程序,当服务启动时会去加载 webapps 目录下的应用程序

FineBI5.1 帮助文档 .chm

FineBI5.1 版本的离线帮助文档

LICENSE

许可证,里面记录了 Tomcat 的一些条款等等

NOTICE

记录 Tomcat 的新的通知,公告

RELEASE-NOTES

记录的是发行版本的说明,一些捆绑的 API ,新特性等等

RUNNING.txt

记录 Tomcat 的运行环境以及怎样配置参数,变量,启动等等

uninstall.exe

自带卸载 exe ,双击即可调用卸载功能

3. webroot 目录

每个文件存放的内容如下表所示:

文件

内容

backup

存放工程备份文件,包含平台配置备份、jar备份、插件备份等

Demo_files

存放工程自带的 DEMO 展示需要的文件

logs

存放日志文件,记录系统登录信息、模板访问信息、报错信息等

scripts

存放插件相关文件

WEB-INF

BI 工程主目录

FRDemo.db

内置 Sqlite 数据库文件

test.mv.db、test.trace.db

内置 H2 数据库文件

Web组件.html

这是一个 Web 组件,写入的超链接地址即可。比如这是一个自定义的 HTML 文件,内置在工程内部 %/webroot/这个目录之下

4. WEB-INF 目录

每个文件存放的内容如下表所示:

文件

内容

assets

资源文件夹,存放工程用到的资源文件等

其中 temp_attach 中存放着上传的图片和 Excel 数据。

assist

辅助文件夹,存放一些辅助文件

classes

class 文件存放目录

dashboards

BI 模板保存文件夹

embed

内置数据库配置目录

lib

BI 工程依赖的 JAR 包文件夹

reportlets

存放 FineReport 报表 cpt 、frm文件

resources

存放工程相关的资源配置文件

treasures

包含报表的功能点及 BI 的埋点信息,正常情况下一个月会自动生成一次

5. resources 目录

每个文件存放的内容如下表所示:

文件

内容

direct

存放实时数据相关配置信息

cpu.xml

CPU 开关,处理 sigard 导致 JVM 虚拟机崩溃问题时使用

FanRuan.lic

工程证书文件

rlink.rlink

Rserver 连接配置

6. schedule 目录

  • 测试定时任务邮件通知:存放 定时调度 生成的文件。

7. dashboard 目录

  • 目录下存放的是不同用户 ID 命名的文件夹。

点开某用户 ID 的文件夹,如下图所示:

  • FBI 文件:存放的是对应用户创建的具体仪表板,用仪表板 ID 命名文件。

8. 注意事项

8.1 error.log 文件介绍

部分用户工程的%FineBI_HOME%\bin目录中存在 error.log 文件,该文件不会根据日期进行拆分,记录所有日期 error 级别的日志和一些相关的 info 信息。

若用户觉得该文件占用磁盘空间过大,可手动删除、写脚本定时删除或者写脚本监控大小删除。

注1:建议确认 fanruan.log 日志已够用,再考虑是否删除 error.log 文件。

注2:若工程部署在 Tomcat 的容器中,bin 目录下不会有 error.log 文件。

三、生成安全密钥文件按钮说明

1. 概述

1.1 版本

FineBI 版本

JAR 包

新增功能

5.1

2020-08-04

FineBI 安装时,可勾选「生成安全密钥文件」按钮

1.2 功能简介

报表所有的可变配置信息,都存储在配置数据库中,试用产品使用的是内置的 HSQL 数据库,位置为:%BI_HOME%\webapps\webroot\WEB-INF\embed\finedb,正式环境可迁移到外置的数据库中,在/WEB-INF/config下生成一个db.properties文件,记录了配置数据库的地址、用户名、密码等信息。

主要作用于两方面:

  • 迁移后db.properties文件里面数据库的密码加解密
  • 数据连接密码、邮箱密码、帆软通行证密码等加解密(不包括平台用户密码)

为了增强密钥的安全性,现对根密钥的逻辑进行优化。

2. 按钮介绍

FineBI 安装 时勾选「生成安全密钥文件」按钮,选择后会随机生成 3 个种子文件,工程启动时读取种子文件,内存中根据种子生成恒定公私钥,此时加解密使用生成的种子文件。

若用户对安全性要求较高,可勾选该按钮。如下图所示:

注1:Windows 环境下,FineReport 设计器安装到 C:\Program Files 无写入权限时,若要生成安全密钥,鼠标右键点击安装包,选择以管理员身份运行。

注2:配置外接数据库方法请参见:配置外接数据库

3. 注意事项

  • 加密如果有新种子文件,则使用新密钥加密。
  • 解密如果有新种子文件,则使用新密钥解密,解密失败则再去用旧密钥解密。
  • 对升级 JAR 包的客户无影响,只要不手动放种子文件,那么还是走旧密钥加解密。
  • 新安装 2020-08-04 及之后的 exe ,采用的种子文件生成的密钥加密密码,因此不能退回 JAR 包,退回后只有老的根密钥,无法对密码进行解密。

相关推荐

探索Java项目中日志系统最佳实践:从入门到精通

探索Java项目中日志系统最佳实践:从入门到精通在现代软件开发中,日志系统如同一位默默无闻却至关重要的管家,它记录了程序运行中的各种事件,为我们排查问题、监控性能和优化系统提供了宝贵的依据。在Java...

用了这么多年的java日志框架,你真的弄懂了吗?

在项目开发过程中,有一个必不可少的环节就是记录日志,相信只要是个程序员都用过,可是咱们自问下,用了这么多年的日志框架,你确定自己真弄懂了日志框架的来龙去脉嘛?下面笔者就详细聊聊java中常用日志框架的...

物理老师教你学Java语言(中篇)(物理专业学编程)

第四章物质的基本结构——类与对象...

一文搞定!Spring Boot3 定时任务操作全攻略

各位互联网大厂的后端开发小伙伴们,在使用SpringBoot3开发项目时,你是否遇到过定时任务实现的难题呢?比如任务调度时间不准确,代码报错却找不到方向,是不是特别头疼?如今,随着互联网业务规模...

你还不懂java的日志系统吗 ?(java的日志类)

一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...

谈谈枚举的新用法--java(java枚举的作用与好处)

问题的由来前段时间改游戏buff功能,干了一件愚蠢的事情,那就是把枚举和运算集合在一起,然后运行一段时间后buff就出现各种问题,我当时懵逼了!事情是这样的,做过游戏的都知道,buff,需要分类型,且...

你还不懂java的日志系统吗(javaw 日志)

一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...

Java 8之后的那些新特性(三):Java System Logger

去年12月份log4j日志框架的一个漏洞,给Java整个行业造成了非常大的影响。这个事情也顺带把log4j这个日志框架推到了争议的最前线。在Java领域,log4j可能相对比较流行。而在log4j之外...

Java开发中的日志管理:让程序“开口说话”

Java开发中的日志管理:让程序“开口说话”日志是程序员的朋友,也是程序的“嘴巴”。它能让程序在运行过程中“开口说话”,告诉我们它的状态、行为以及遇到的问题。在Java开发中,良好的日志管理不仅能帮助...

吊打面试官(十二)--Java语言中ArrayList类一文全掌握

导读...

OS X 效率启动器 Alfred 详解与使用技巧

问:为什么要在Mac上使用效率启动器类应用?答:在非特殊专业用户的环境下,(每天)用户一般可以在系统中进行上百次操作,可以是点击,也可以是拖拽,但这些只是过程,而我们的真正目的是想获得结果,也就是...

Java中 高级的异常处理(java中异常处理的两种方式)

介绍异常处理是软件开发的一个关键方面,尤其是在Java中,这种语言以其稳健性和平台独立性而闻名。正确的异常处理不仅可以防止应用程序崩溃,还有助于调试并向用户提供有意义的反馈。...

【性能调优】全方位教你定位慢SQL,方法介绍下!

1.使用数据库自带工具...

全面了解mysql锁机制(InnoDB)与问题排查

MySQL/InnoDB的加锁,一直是一个常见的话题。例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?下面是不同锁等级的区别表级锁:开销小,加锁快;不会出现死锁;锁定粒度...

看懂这篇文章,你就懂了数据库死锁产生的场景和解决方法

一、什么是死锁加锁(Locking)是数据库在并发访问时保证数据一致性和完整性的主要机制。任何事务都需要获得相应对象上的锁才能访问数据,读取数据的事务通常只需要获得读锁(共享锁),修改数据的事务需要获...