最新历史版本 :5.1.2 及之后版本驱动隔离插件 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

注:仅适用于 5.1.18 及之前的版本,5.1.19 之后开始使用 驱动管理 管理插件,不会出现插件冲突情况。

1.1 版本

 FineBI 版本JAR 包版本新增功能
5.12020-01-15-
5.1.72020-11-03新增 ClickHouse 插件
5.1.14-

插件隔离支持kerberos认证

Hive 隔离插件更新,见 2.1 节

1.2 应用场景

在创建数据连接时,可能会出现放置的新驱动 JAR 包和 FineBI 自带的 JAR 包,或者和其他驱动 JAR 包有冲突的问题(例如 Hive 的 Hadoop 的套件冲突或者 Hive 和星环数据库的 JAR 包冲突),为此 FineBI 提供驱动隔离插件来隔离相关的驱动,以保证数据库顺利连接。

1.3 功能介绍

驱动隔离插件是保证类加载器加载 JAR 的时候,分开加载数据库驱动 JAR 和 BI 自身需要的 JAR,避免它们之间出现冲突。

而FineReport 设计器 远程连接 BI 时,是通过 FineReport 直接去添加表建立服务器数据集,所以不需要使用本章介绍的 BI 驱动隔离插件。

注:若 BI 为 5.1.1 版本,请使用 5.1.1 版本驱动隔离插件

2. 操作步骤编辑

以 Hive 数据库为例,讲解如何使用驱动隔离插件连接 FineBI 。

2.1 安装驱动隔离插件

在下表中下载安装 Hive 的驱动隔离插件。插件安装方法请参见:插件管理 

数据库名驱动隔离插件
Hive

fr-plugin-hive-driver-loader-3.0.zip

TRANSWARP INCEPTOR (星环)

fr-plugin-transwarp-driver-loader-2.5.zip 

SPARK

fr-plugin-spark-driver-loader-2.5.zip 

MySQL

fr-plugin-mysql-driver-loader-2.5.zip 

Apache Impala

fr-plugin-impala-driver-loader-2.5.zip

Oracle

fr-plugin-oracle-driver-loader-2.5.zip 

Presto

fr-plugin-presto-driver-loader-2.5.zip 

ClickHouse

fr-plugin-clickhouse-driver-loader-2.5.zip 

MaxCompute

fr-plugin-maxcompute-driver-loader-2.5.zip

Apache Phoenix

fr-plugin-phoenix-driver-loader-2.5.zip

APACHE KYLIN

fr-plugin-kylin-driver-loader-2.5.zip

Hbase

fr-plugin-hbase-2.5.zip

2.2 添加数据库驱动文件

1)到对应文档里面,下载数据库对应的驱动文件。

数据库新建的文件夹名字

下载对应驱动

(2.1 节配置信息中)

HivehivedriverlibHadoop Hive数据连接
TRANSWARP INCEPTOR (星环)transwarpdriverlibTRANSWARP INCEPTOR数据连接
SPARKsparkdriverlibSPARK数据连接
MySQLmysqldriverlibMySQL数据连接
Apache ImpalaimpaladriverlibApache Impala数据连接
OracleoracledriverlibOracle 数据连接
PrestoprestodriverlibPresto数据连接
ClickHouseclickhousedriverlibClickHouse 数据连接
MaxComputemaxcomputedriverlib阿里云MaxCompute数据连接
Apache PhoenixphoenixdriverlibApache Phoenix数据连接
APACHE KYLINkylindriverlibAPACHE KYLIN数据连接
HbasehbasedriverlibHbase数据连接

2)在 FineBI 路径%FineBI%/webapps/webroot/WEB-INF下,建立一个新的文件夹,文件夹命名参考上表。

3)将下载的数据库驱动 JAR 包放入文件夹中,如下图所示:

「Hive 数据库、TRANSWARP INCEPTOR 数据库、SPARK数据库」除了要放入驱动 JAR 包,还需要放入两个jar包:

 slf4j-log4j12-1.7.10.jarslf4j-api-1.7.10.jar

1577157045859387.png

3)重启 FineBI 。

2.3 建立数据连接

完成 2.1、2.2 节后,返回对应的数据连接文档,正常连接数据库即可。连接数据库的步骤请参见:配置数据连接

3. 注意事项编辑

3.1 隔离插件支持条件

1)5.1.14 之前版本,使用隔离插件后不支持 kerberos 认证;5.1.14 及之后版本,隔离插件支持 kerberos 认证。

2)隔离插件细分不同的数据连接,即使底层使用了同样的数据库也会区分不同的名字。例如:SPARK,Hive 和 TRANSWARP INCEPTOR (星环)数据库的底层都是 Hive 数据库,但使用的插件是不同的,放置 JAR 包的文件夹名称也应该区别。

3)由于隔离的文件夹名不同,所以安装多个插件后,对应驱动均可以隔离。

3.2 兼容问题

1)若 2019-05-15 之后的 5.1 版本升级至 2020-01-15 版本的 5.1 ,原 驱动隔离插件 插件不兼容,需要把旧的插件删除后,再安装新的驱动隔离插件,重新按照文档使用方法进行配置。

3.3 数据连接不支持多kerberos认证

因为 kerberos 认证是全局认证,全局认证是无法支持同时连多个 kerberos 认证的。

例如,hive 的 princal 为 a , impala 的 princal 为 b ,这种情况下只能连接一个。简而言之就是,kerberos连接时会设置 java.security.krb5.conf 系统参数。

在 5.1.14 版本之前的驱动隔离插件不能用于 kerberos 认证,因此如果当几个 kerberos 认证的数据库都使用一份 kerberos 信息(使用一份 krb5.conf ,一份 keytab) ,此时使用的是同一个kerberos认证。

理论上是可以支持的,但是不同的数据库驱动往往会有冲突,比如 impala 和 hive 的驱动冲突,此时也是不支持同时连接 impala 和 hive 的。