1. 概述
1.1 版本
FineReport 版本 | 功能变动 |
---|---|
11.0 | - |
11.0.1 | 更改上传数据库驱动包的方式:通过「驱动管理」上传,实现热加载 |
1.2 应用场景
本文将介绍如何连接 Hbase 数据源。
2. 准备工作
2.1 版本和驱动
下载驱动,并将其上传至 FineReport,如何上传可参见:驱动管理 2.1 节。
支持的数据库版本 | 驱动下载链接 | 驱动选择 |
1.2 | phoenix-4.12.0-HBase-1.2-client.jar | org.apache.phoenix.jdbc.PhoenixDriver |
2.2 检查相关信息
1)连接前请检查 /etc/hosts 中的机器名对应 IP 是否为局域网 IP;
2)检查 /etc/hostname 中机器名设置和 /etc/hosts 中是否配置一致;
3)检查 FineReport 所在机器 hosts 配置的 IP+ 机器名是否正确;
4)在本地连接时需要配置 /etc/hosts 文件,添加远端映射:IP+机器名,例如: 192.168.5.206 centos-phoenix 。
2.3 收集连接信息
在连接数据库之前,请收集以下信息:
数据库所在服务器的 IP 地址和端口号;
数据库的名称;
若是用户名密码认证,需要收集用户名和密码;若是 Kerberos 认证,需要收集客户端 principal 和 keytab 密钥路径;
需要连接的数据库模式;
注:hbase本身不支持SQL查询,数据库需要引入phoenix(HBase的开源SQL引擎),通过它可以实现hbase的sql查询。安装方法请参见:在CDH 6.3中安装Phoenix服务
Phoenix安装完成后,会生成两个文件hbase-site.xml、hdfs-site.xml。用户需要将生成的两个xml放进2.1节准备的client驱动里,并更新到FineReport工程中。
3. 具体连接步骤
FineReport 提供了两种数据连接方式:
方式一:在设计器中进行连接 ,具体方法请参见: [设计器]JDBC连接数据库 。
方式二:在数据决策平台进行连接。本文主要介绍此种方式。
1)以管理员身份登录数据决策系统,点击「管理系统>数据连接>数据连接管理」,点击「新建数据连接」,如下图所示:
注:如果非管理员用户想要配置数据连接,需要管理员给其分配管理系统下数据连接节点的权限,具体操作请查看 数据连接权限
2)找到 Hbase 的图标,如下图所示:
3)驱动切换为「自定义」选择 2.1 节上传的驱动,然后输入 2.2 节的连接信息。
Hbase 支持 Kerberos 认证,Kerberos 认证方式详情可参见:数据连接 kerberos 认证。
注:用户可以选择性修改高级设置,详细请参见 数据连接高级设置
4)点击「点击连接数据库」,连接成功后选择数据库模式(若不选则使用默认模式)。最后保存该数据连接,如下图所示:
4. 添加数据库的表至FineReport
详情请参见:数据集
5. 连接异常问题
5.1 问题描述
连接华为大数据平台 Hbase 数据库异常,使用帮助文档中的驱动,会报错:Unable to find org.apache.hadoop.hbase.ipc.NettyRpcClient ,NettyipcCilent 方法找不到,如下图所示:
5.2 原因分析
当前数据库环境对 configration 有额外配置,按以往方式连接会出现配置文件读取异常。
5.3 解决方案
调整配置文件和连接 URL 的写法,解决校验问题,实现数据库直连。
修改配置文件:将使用的配置方法写入到 Hbase-siste.xml 中,再放入到相关的 jar 包中
修改 URL :Hbase数据连接 URL 格式改为:jdbc:phoenix:quorum:port/database:pricinpal:keytabPath,通过解析 URL 可以得到相关属性,并且会优先使用 URL 中得到的属性配置。