1. 概述编辑
Hbase 作为大数据平台的重要组成部分,在数据存储方面起到了至关重要的作用,因此 BI 连接 Hbase 也是必不可少的功能之一。FineBI 提供的方法是通过 Phoenix 连接 Hbase ,本文将详细介绍如何进行连接。
注:平台数据连接各设置项详细介绍请参考 [平台]数据连接
2. 配置信息编辑
驱动 | URL | 本文示例驱动下载 | 支持数据库版本 |
---|---|---|---|
org.apache.phoenix.jdbc.PhoenixDriver | jdbc:phoenix:ip:port/dbname | phoenix-4.12.0-HBase-1.2-client.jar | 1.2 |
1)点击链接 驱动下载 ,如下图所示:
2)解压下载的压缩包,找到 phoenix-4.12.0-HBase-1.2-server.jar(实际版本需根据实际 Hbase 版本找), 放入hbase/lib下, 重启 Hbase ( 使用命令./stop-hbase.sh, 再./start-hbase.sh);
同样的解压包内找到phoenix-4.12.0-HBase-1.2-client.jar,放入 FineBI 安装目录FineBI/webapps/WebReport/WEB-INF/lib下,重启 FineBI 。
注:该数据库 JAR 包容易和其他 Hadoop 系列的 JAR 包冲突(Hadoop、Hive、Impala、星环等等),如果连不上,需要删除冲突的数据库的 JAR 。
3. 操作步骤编辑
3.1 下载驱动文件
按照本文第二章节,下载驱动文件并放到相应位置,重启 Hbase 和 FineBI 。
3.2 新建数据连接
1)以管理员身份登录数据决策系统,点击管理系统>数据连接>数据连接管理,点击新建数据连接,如下图所示:
注:如果非管理员用户想要配置数据连接,需要管理员给其分配管理系统下数据连接节点的权限,具体操作请查看 数据连接控制
2)在「常用」选项下选择Hbase,如下图所示:
3.3 配置数据连接
1)根据实际情况输入对应的数据连接信息:
若选择 Kerberos 认证,则需填入注册过 Kdc 的客户端名称、Keytab 密钥路径和 Kerberos 认证对应 URL ,详情参考 数据连接Kerberos认证 ,如下图所示:
若不选择 kerberos 认证,则跟其他数据库设置一致,可选择填入高级设置信息(相关属性介绍可参考 配置数据连接 ),如下图所示:
2)点击测试连接,或者在模式下点击点击连接数据库,若弹出连接成功提示框,则表示成功连接上数据库,如下图所示:
连接成功后,模式会自动选择默认值,如下图所示:
注:模式建立的初衷是为了其他功能更容易读取数据库里的数据,选择「默认值」即可。
3)点击右上角保存按钮。
4. 注意事项编辑
4.1 FineBI 一直处于启动页面
问题现象:
phoenix-4.12.0-HBase-1.2-client.jar放入 FineBI 安装目录FineBI/webapps/WebReport/WEB-INF/lib后,重启 FineBI ,FineBI 一直处于启动页面。如下图所示:
解决方法:
1)使用压缩工具打开phoenix-4.12.0-HBase-1.2-client.jar文件,进入javax文件,删除el和servlet文件,如下图所示:
3)重启 FineBI 。
4.2 添加数据集
Hbase 数据连接成功后,添加实时 SQL 数据集并制作自助数据集时,暂不支持数据库表中带有小写和特殊符号(如“.”)的字段名。若需要添加此类字段,建议使用抽取数据。
4.3 JDBC 访问数据库无法连接
问题现象:
JDBC 访问数据库无法连接, 提示 get locations 错误或者 zookeeper 找不到对应的地址。
解决方案:
连接前请检查 /etc/hosts 中的机器名对应 IP 是否为局域网 IP;
检查 /etc/hostname 中机器名设置和 /etc/hosts 中是否配置一致;
检查 FineBI 所在机器 hosts 配置的 IP+ 机器名 是否正确。
本地连接时需要配置 /etc/hosts 文件,添加远端映射:IP+机器名,例如: 192.168.5.206 centos-phoenix
4.4 使用 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 即可。