openEuler Linux 部署 FineBi
部署环境
环境 | 版本 |
---|---|
openEuler Linux | 22.03 |
MySQL | 8.0.35 |
JDK | 1.8 |
FineBi | 6.0 |
环境准备
升级系统内核和软件
yum -y update
reboot
安装常用工具软件
yum -y install vim tar net-tools
安装MySQL8
将 MySQL Yum 存储库添加到系统的存储库列表中
sudo yum -y install https://repo.mysql.com//mysql80-community-release-el8-9.noarch.rpm
通过运行以下命令并检查其输出来验证是否已启用和禁用正确的子存储库
sudo yum repolist enabled | grep mysql
通过以下命令安装 MySQL
sudo yum -y install mysql-community-server
启动 MySQL 服务器
使用以下命令启动 MySQL 服务器:
sudo systemctl start mysqld
您可以使用以下命令检查 MySQL 服务器的状态:
sudo systemctl status mysqld
使用以下命令开启自启动 MySQL 服务器:
sudo systemctl enable mysqld
在服务器初始启动时,假设服务器的数据目录为空,会发生以下情况:
-
服务器已初始化。
-
SSL 证书和密钥文件在数据目录中生成。
-
validate_password
已安装并启用。 -
创建了一个超级用户帐户
'root'@'localhost
。超级用户的密码已设置并存储在错误日志文件中。要显示它,请使用以下命令:sudo grep 'temporary password' /var/log/mysqld.log
通过使用生成的临时密码登录并为超级用户帐户设置自定义密码,尽快更改 root 密码:
mysql -uroot -p
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Lihaozhe!!@@1122';
FLUSH PRIVILEGES;
不检查指定为散列值的密码,因为原始密码值不可用于检查:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Lihaozhe!!@@1122';
FLUSH PRIVILEGES;
update mysql.user set host = '%',plugin='mysql_native_password' where user='root';
FLUSH PRIVILEGES;
exit;
sudo systemctl restart mysqld
防火墙开放端口
–zone #作用域
–add-port=3306/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=3306/tcp --permanent
防火墙重载
firewall-cmd --reload
# 使用新密码连接
mysql -h 你自己的IP地址 -uroot -p
创建finebi外接数据库finedb
字符集应当为 utf8 ,排序规则为 utf8_bin。
create database finebi character set utf8 collate utf8_bin;
安装jdk和tomcat
下载jdk
jdk 官网下载页面:https://www.oracle.com/java/technologies/downloads/
下载jdk
tomcat 官网下载页面:https://tomcat.apache.org/download-90.cgi
解压jdk和tomcat并修改目录名称
tar -zxvf jdk-8u391-linux-x64.tar.gz -C /usr/local/
tar -zxvf apache-tomcat-9.0.83.tar.gz -C /usr/local/
mv /usr/local/jdk1.8.0_391/ /usr/local/jdk-8
mv /usr/local/apache-tomcat-9.0.83 /usr/local/tomcat-9
设置tomcat.pid文件生成
其中tomcat.pid文件本身不存在,设置之后,启动Tomcat会自动生成
vim /usr/local/tomcat-9/bin/catalina.sh
定位文件第152行找到 PRGDIR=
dirname "$PRG"
并在该行下追加以下内容
CATALINA_PID="/usr/local/tomcat-9/bin/tomcat.pid"
配置环境变量
vim /etc/profile.d/my_env.sh
export JAVA_HOME=/usr/local/jdk-8
export CATALINA_BASE=/usr/local/tomcat-9
export CATALINA_HOME=/usr/local/tomcat-9
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_BASE/bin:$CATALINA_HOME/bin
source /etc/profile.d/my_env.sh
编写开机启动服务
cd /usr/lib/systemd/system
vim tomcat-9.service
[Unit]
Description=finereport-server
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/local/jdk-8"
PIDFile=/usr/local/tomcat-9/bin/tomcat.pid
ExecStart=/usr/local/tomcat-9/bin/startup.sh
ExecReload=/usr/local/tomcat-9/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl start tomcat-9.service
systemctl enable tomcat-9.service
设置防火墙端口放行
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
重启系统
reboot
浏览器访问测试
http://服务器IP地址:8080
安装finebi
官网下载
https://www.finebi.com/product/download
上传安装包
tomcat-linux-x64.tar.gz
解压安装包到指定目录
/usr/local
tar -zxvf tomcat-linux-x64.tar.gz -C /usr/local/
解压后的目录名为 tomcat-linux-64
删除 MySQL5 数据库驱动
### 上传 MySQL 数据库驱动
```bash
cd /usr/local/tomcat-linux-x64/webapps/webroot/WEB-INF/lib/
ls mysql*
删除MySQL5的驱动后上传MySQL8的驱动
mysql-connector-j-8.0.33.jar mysql驱动
protobuf-java-3.5.1.jar mysql驱动依赖
rm -f mysql-connector-java-5.1.49-bin.jar /usr/local/tomcat-9/webapps/finebi
复制 finebi web 工程到 tomcat 服务器发布
cp -r /usr/local/finebi/webapps/webroot /usr/local/tomcat-9/webapps/finebi
创建 finebi 外接数据库
本案例使用
MySQL8
作为finebi
外接数据库
- 关闭 BI 工程
- 删除工程webapps\webroot\WEB-INF\lib目录下的
mysql-connector-java-5.1.49-bin.jar
- 下载对应版本的
MySQL8
驱动,并上传至工程webapps\webroot\WEB-INF\lib目录下。
- 上传mysql8驱动
mysql-connector-j-8.0.33.jar
- 上传mysql8驱动依赖
protobuf-java-3.5.1.jar
- 重启 BI 工程。
字符集:
- 平台外接 MySQL 数据库时,需要设置字符集排序规则(大小写敏感)。
- 推荐使用 utf8 – UTF-8 Unicode 编码。
- 不支持 utf8mb4 编码
排序规则:
MySQL 中存在多种格式的 utf8 编码的排序规则,其中最常见的两种如下表所示:
- utf8_bin(推荐)
定义:将字符串中的每一个字符用二进制数据存储,区分大小写
示例:Alex 和 alex 被认为是两个不同的值- utf8_general_ci
定义:ci 为 case insensitive 的缩写,即大小写不敏感,为 utf8 默认编码
示例:Alex 和 alex 被认为是相同的值
登录
mysql
创建 finebi 数据库
create database finebi character set utf8 collate utf8_bin;
重启 tomcat
systemctl restart tomcat-9
浏览器访问测试
http://服务器IP地址:8080/finebi/decision
设置账号密码
账号密码设置成功
根据使用场景选择数据库
本案例使用外接数据库
外接数据库配置
修改外接数据库参数
- 数据库类型
mysql
- 驱动
MySQL5
com.mysql.jdbc.DriverMySQL8
com.mysql.cj.jdbc.Driver
- 主机
MySQL服务器IP地址
- 端口号
3306
- 数据库名称
finebi
- 用户名
root
- 密码 ·MySQL数据库密码·
修改外接数据库参数后点击启用新数据库