HBase

<< Click to Display Table of Contents >>

当前位置:  数据准备 > 数据源 > SQL数据源 > Kerberos 认证 

HBase

复制链接

1.驱动

org.apache.phoenix.jdbc.PhoenixDriver,受驱动版本限制可能有所不同。驱动来源参考支持的数据源范围

2.数据库连接URL

加粗字体的信息需要根据客户环境自行配置,各项配置以 : 隔开,连接zookeeper

jdbc:phoenix:hd03,hd02,hd01:24002:/hbase:yonghong@HADOOP.COM:/app/user.keytab

3.URL各项说明

hd03,hd02,hd01 zookeeper集群各节点的域名或IP 与hbase-site.xml 中的 hbase.zookeeper.quorum 的值保持一致。如果连接的不是zookeeper集群,queryserver.domain:8765 是queryserver的ip地址:端口号

24002 端口号与hbase-site.xml中hbase.zookeeper.property.clientPort的值保持一致。

/hbase 与hbase-site.xml中的 zookeeper.znode.parent 的值保持一致。

hbase:yonghong@HADOOP.COM 永洪BI连接KDC主机的Kerveros principal,因为在数据源配置了用户名此处可以省略。

/app/user.keytab 永洪BI连接KDC主机的密钥文件,因为在数据源中配置了密钥文件路径 此处可以省略。

Hbase JDBC连接参数参考以下连接: http://phoenix.apache.org/faq.html#What_is_the_Phoenix_JDBC_URL_syntax

4.注意事项

连接HBase数据库时,需要将hbase-site.xml、core-site.xml、hbase-policy.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、hide-config.xml等文件拷贝到一个目录hbaseConf(名字随意)。

注意:多少文件、哪些文件具体看场景,不一定是上面列出的7个,hbaseConf最好在永洪BI的安装目录下。

拷贝完成后修改永洪BI安装目录下的tomcat/setclasspath.sh文件(windows是setclasspath.bat),将上面创建的hbaseConf配置到CLASSPATH上,此处注意CLASSPATH的写法。需要先写${CLASSPATH},然后是冒号(:),然后是目录hbaseConf。

如果没有做上面的配置,系统可能会出现下列提示(仅供参考)

java.lang.NoClassDefFoundError: com/ctc/wstx/io/InputBootstrapper,g5.util.RTWrappedException: java.lang.NoClassDefFoundError: com/ctc/wstx/io/InputBootstrapper

java.lang.NoClassDefFoundError: Could not initialize class org.apache.phoenix.jdbc.PhoenixDriver,org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions: Fri Oct 16 13:47:22 CST 2020, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=68608: Broken pipe row 'SYSTEM:CATALOG,,' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=bjxjc03,21302,1602737109926, seqNum=0

Connection to {***} is closing

连接zookeeper时,数据源“Jaas文件路径”项为必填项。

注意在永洪BI服务器主机的/etc/hosts文件中配置需要的host与ip的信息,可以从数据库集群所在任一主机的/etc/hosts文件中复制。

下图为HBase数据库连接示例:

Kerberos_hbase