1、描述编辑
Hbase 作为大数据平台的重要组成部分,在数据存储方面起到了至关重要的作用,因此 BI 连接 Hbase 也是必不可少的功能之一。FineBI提供的方法是通过 phoenix 连接 hbase ,下面我们将详细介绍如何进行连接。
2、数据连接编辑
2.1 配置信息
驱动 | URL | 驱动下载的链接 | 支持数据库版本 |
---|---|---|---|
org.apache.phoenix.jdbc.PhoenixDriver | jdbc:phoenix:ip:port/dbname | http://mirror.bit.edu.cn/apache/phoenix/ | 1.2 |
2.2 连接步骤
拷贝 jar 包到 BI 工程
1) 从上面链接中下载 phoenix 安装包。
2) 解压后找到 phoenix-4.12.0-HBase-1.2-server.jar(实际版本需根据自身 Hbase 版本找), 放入hbase/lib下, 重启 hbase ( 使用命令./stop-hbase.sh, 再./start-hbase.sh);
3) 同样的解压包内找到 phoenix-4.12.0-HBase-1.2-client.jar,放入 FineBI 安装目录%FineBI%/webapps/webroot/WEB-INF/lib下,重启 FineBI 。
注:在上面的 phoenix 安装包下载网站查看版本匹配关系,确定版本后再下载拷贝 jar 包,如下图所示:
Phoenix HBase Phoenix 2.x HBase 0.94.x Phoenix 3.x HBase 0.94.x Phoenix 4.x HBase 0.98.1+ 登录数据决策系统,选择管理系统>数据连接>数据连接管理,点击新建数据连接,在所有选项选择Hbase,如下图所示:
点击确定进入数据连接配置页面,按照前面提供的配置信息,输入自身数据库的对应信息。
a)可选择勾选 kerberos 认证。若勾选 kerberos 认证,则需填入注册过 kdc 的客户端名称、keytab 密钥路径和 kerberos 认证对应 URL ,参考 数据连接Kerberos认证 ,如下图所示:
注:连接前请检查 /etc/hosts 中的机器名对应 IP 是否为局域网 IP;
检查 /etc/hostname 中机器名设置和 /etc/hosts 中是否配置一致;
检查 FineBI 所在机器 hosts 配置的 IP+ 机器名是否正确。
本地连接时需要配置 /etc/hosts 文件,添加远端映射:IP+机器名,例如: 192.168.5.206 centos-phoenix 。
b)若不选择 kerberos 认证,则跟其他数据库设置一致,可选择填入高级设置信息(相关属性介绍可参考 配置数据连接 ),如下图所示:
点击测试连接,或者在模式下点击连接数据库,若测试连接成功则表示成功连接上数据库,如下图所示:
测试连接成功后可以选择模式,根据需要选择对应模式,若不进行选择,则默认为第一个模式。如下图所示:
模式选择后点击右上角的保存按钮,该数据连接即添加成功。如下图所示:
3、注意事项编辑
3.1添加数据集:
hbase 数据连接成功后,添加实时 sql 数据集并制作自助数据集时,暂不支持数据库表中带有小写和特殊符号(如“.”)的字段名。若需要添加此类字段,建议使用抽取数据。
3.2问题报错及解决方法:
问题1:
问题描述:
jdbc 访问数据库无法连接, 提示 get locations 错误或者 zookeeper 找不到对应的地址
解决方法:
检查如下位置的配置,数据库机器/etc/hosts 中的机器名对应 IP 是否为局域网 IP ,/etc/hostname 中机器名设置和/etc/hosts中配置是否一致;BI 所在机器 hosts 中配置的数据库 IP+机器名是否正确;是否修改后重启了 hbase。
问题2:
问题描述:
如何使用 SQuirrel 连接?
解决方法:
参考 http://phoenix.apache.org/installation.html#SQL_Client。在https://sourceforge.net/projects/squirrel-sql/?source=typ_redirect 下载 SQuirrel ,默认安装后,将 phoenix-xxxx-client.jar 放到%SQuirrel_HOME%/lib下,启动 SQuirrel后, 先添加驱动再添加 Alias 即可。