1. 概述
Apache Phoenix 通过结合联机事务处理和 Hadoop 运行分析平台的完美结合来针对低延迟应用程序,支持标准 SQL 和有包含事务的原子性、隔离性、一致性、持久性的 JDBC API的能力,并且后期绑定灵活,基于 NoSQL 世界的读时模式,以 HBase 作为后台存储。
FineReport 提供了两种数据连接方式:
方式一:在设计器中进行连接 ,具体方法请参见: [设计器]JDBC连接数据库 。
方式二:在数据决策平台进行连接。本文主要介绍此种方式。
2. 数据连接
2.1 配置信息
驱动 | URL | 驱动下载地址 | 支持数据库版本 |
org.apache.phoenix.jdbc.PhoenixDriver | jdbc:phoenix:hostname:port/dbname | 1.2 |
注:该数据库 JAR 包容易和其他 Hadoop 系列的 JAR 包冲突(Hadoop、Hive、Impala、星环等等),如果连不上,需要删除冲突的数据库的 JAR 。
2.2 连接步骤
2.2.1 拷贝 JAR 包到 FineReport 工程
从配置信息驱动下载链接中下载 Apache Phoenix 驱动包,并将该驱动包放置到%FR_HOME%\webapps\webroot\WEB-INF\lib下,重启报表服务器。
2.2.2 管理员登录数据决策系统
1)点击管理系统>数据连接>数据连接管理,点击新建数据连接,在所有选项下选择Apache Phoenix,如下图所示:
注:如果非管理员用户想要配置数据连接,需要管理员给其分配管理系统下数据连接节点的权限,具体操作请查看 [平台]数据连接 。
2.2.3 输入配置信息并测试连接
1)进入数据连接配置页面。
若选择 kerberos 认证,则需填入注册过 Kdc 的客户端名称、Keytab 密钥路径和 Kerberos 认证对应 URL ,具体请参考 [平台]数据连接Kerberos认证 。如下图所示:
若不选择 Kerberos 认证,则跟其他数据库设置一致,按照本文 2.1 章节提供的配置信息,输入数据库的对应信息,可选择填入高级设置信息,具体请参见 [平台]数据连接 )。如下图所示:
2)点击测试连接,或者在模式下点击连接数据库,若弹出「连接成功」提示框,则表示成功连接上数据库,如下图所示:
2.2.4 选择模式
1)测试连接成功后可以选择模式,根据需要选择对应模式,若不进行选择,则默认为第一个模式。如下图所示:
2)模式选择后点击右上角的保存按钮,该数据连接即添加成功。如下图所示:
3. 注意事项
JDBC 访问数据库无法连接, 提示 get locations 错误或者 zookeeper 找不到对应的地址。
解决方法:
1)检查如下位置的配置/etc/hosts 中的机器名对应IP是否为局域网 IP 。
2)检查/etc/hostname 中机器名设置和 /etc/hosts 中是否配置一致。
3)检查 FineReport 所在机器的 hosts 配置的 IP+机器名 是否正确。