最新历史版本 :[平台]Hbase数据连接 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

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/dbnamephoenix-4.12.0-HBase-1.2-client.jar1.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 数据库,如下图所示:

注:如果非管理员用户想要配置数据连接,需要管理员给其分配管理系统下数据连接节点的权限,具体操作请查看数据连接控制  

1574756104587653.png

3.3 配置数据连接

1)进入数据连接配置页面。

若选择 Kerberos 认证,则需填入注册过 Kdc 的客户端名称、Keytab 密钥路径和 Kerberos 认证对应 URL ,具体请参考 [平台]数据连接Kerberos认证 。如下图所示:

1574756350788894.png

  • 若不选择 Kerberos 认证,则跟其他数据库设置一致,按照本文 2.1 章节提供的配置信息,输入数据库的对应信息,可选择填入高级设置信息,具体请参见 [平台]数据连接 )。如下图所示:

1574756208728706.png

3.4 测试连接

点击「测试连接」,或者在模式下「点击连接数据库」,若弹出「连接成功」提示框,则表示成功连接上数据库,如下图所示:

1575596030819962.png

3.5 选择模式

测试连接成功后可以选择「模式」,根据需要选择对应模式,若不进行选择,则默认为第一个模式。如下图所示:

1574756525987066.png

3.6 效果预览

模式选择后点击右上角的「保存」按钮,该数据连接即添加成功。如下图所示:

1574756634763650.png3. 

4. 连接异常问题编辑

4.1 问题描述

连接华为大数据平台 Hbase 数据库异常,使用帮助文档中的驱动,会报错:Unable to find org.apache.hadoop.hbase.ipc.NettyRpcClient ,NettyipcCilent 方法找不到,如下图所示:

3.png

4.2 原因分析

当前数据库环境对 configration 有额外配置,按以往方式连接会出现配置文件读取异常。

4.3 解决方案

调整配置文件和连接 URL 的写法,解决校验问题,实现数据库直连。

  • 修改配置文件:将使用的配置方法写入到 Hbase-siste.xml 中,再放入到相关的 jar 包中

  • 修改 URL :Hbase数据连接 URL 格式改为:jdbc:phoenix:quorum:port/database:pricinpal:keytabPath,通过解析 URL 可以得到相关属性,并且会优先使用 URL 中得到的属性配置。