1. 概述
Hbase 作为大数据平台的重要组成部分,在数据存储方面起到了至关重要的作用,因此连接 Hbase 也是必不可少的功能之一。FR 提供的方法是通过 Phoenix 连接 Hbase。
2. 准备工作
2.1 配置信息
下载驱动,将驱动包放置到%FR_HOME%\webapps\webroot\WEB-INF\lib下,重启报表服务器。
驱动 | URL | 驱动下载链接 | 支持数据库版本 |
org.apache.phoenix.jdbc.PhoenixDriver | jdbc:phoenix:hostname:port/dbname | phoenix-4.12.0-HBase-1.2-client.jar | 1.2 |
注:该数据库 JAR 包容易和其他 Hadoop 系列的 JAR 包冲突(Hadoop、Hive、Impala、星环等等),如果连不上,需要删除冲突的数据库的 JAR 。
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 密钥路径;
需要连接的数据库模式;
3. 具体连接步骤
3.1 选择连接方式
FineReport 提供了两种数据连接方式:
方式一:在设计器中进行连接 ,具体方法请参见: [设计器]JDBC连接数据库 。
方式二:在数据决策平台进行连接。本文主要介绍此种方式。
3.2 新建数据连接
1)点击「管理系统>数据连接>数据连接管理」,点击「新建数据连接」,选择 Hbase 数据库,如下图所示:
注:如果非管理员用户想要配置数据连接,需要管理员给其分配管理系统下数据连接节点的权限,具体操作请查看数据连接控制 。
3.3 配置数据连接
1)进入数据连接配置页面。
若选择 Kerberos 认证,则需填入注册过 Kdc 的客户端名称、Keytab 密钥路径和 Kerberos 认证对应 URL ,具体请参考 [平台]数据连接Kerberos认证 。如下图所示:
若不选择 Kerberos 认证,则跟其他数据库设置一致,按照本文 2.1 章节提供的配置信息,输入数据库的对应信息,可选择填入高级设置信息,具体请参见 [平台]数据连接 )。如下图所示:
3.4 测试连接
点击「测试连接」,或者在模式下「点击连接数据库」,若弹出「连接成功」提示框,则表示成功连接上数据库,如下图所示:
3.5 选择模式
测试连接成功后可以选择「模式」,根据需要选择对应模式,若不进行选择,则默认为第一个模式。如下图所示:
3.6 效果预览
模式选择后点击右上角的「保存」按钮,该数据连接即添加成功。如下图所示:
3.
4. 连接异常问题
4.1 问题描述
连接华为大数据平台 Hbase 数据库异常,使用帮助文档中的驱动,会报错:Unable to find org.apache.hadoop.hbase.ipc.NettyRpcClient ,NettyipcCilent 方法找不到,如下图所示:
4.2 原因分析
当前数据库环境对 configration 有额外配置,按以往方式连接会出现配置文件读取异常。
4.3 解决方案
调整配置文件和连接 URL 的写法,解决校验问题,实现数据库直连。
修改配置文件:将使用的配置方法写入到 Hbase-siste.xml 中,再放入到相关的 jar 包中
修改 URL :Hbase数据连接 URL 格式改为:jdbc:phoenix:quorum:port/database:pricinpal:keytabPath,通过解析 URL 可以得到相关属性,并且会优先使用 URL 中得到的属性配置。