Hive

<< Click to Display Table of Contents >>

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

Hive

复制链接

1.驱动

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

2.数据库连接URL

加粗字体的信息需要根据用户环境自行配置,各项配置以 ; 隔开,连接zookeeper与直连hive数据库的区别,zookeeper提供了高可用的数据库环境,当一台数据库故障后,zookeeper可以使用其他正常的数据库继续提供服务。

连接zookeeper:jdbc:hive2://HD01:24002,HD02:24002,HD03:24002/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;saslQop=auth-conf;auth=KERBEROS;principal=hive/hadoop.hadoop.com@HADOOP.COM

直连hive数据库:jdbc:hive2://HD01:21066/default;saslQop=auth-conf;principal=hive/hadoop.hadoop.com@HADOOP.COM

3.URL各项说明

HD01:24002,HD02:24002,HD03:24002  

连接zookeeper

zookeeper集群各节点的域名或IP,注意是ip:port,ip:port,ip:port,端口号是zookeeper服务监听的端口号,与hive-site.xml中hive.zookeeper.client.port的值保持一致。

直连hive数据库

hive数据库所在的主机的ip,与hive-site.xml中hive.server2.thrift.bind.host的值保持一致。端口号是hive数据库监听的端口号,与hive-site.xml中hive.server2.thrift.port的值保持一致。

serviceDiscoveryMode=zooKeeper  固定项,代表连接是zookeeper。

auth=KERBEROS  固定项,代表使用Kerberos进行用户认证。

saslQop=auth-conf  永洪BI和Hive数据库通信时的加密信息,与hive-site.xml中hive.server2.thrift.sasl.qop的值保持一致。

zooKeeperNamespace=hiveserver2 与 hive-site.xml中hive.server2.zookeeper.namespace的值保持一致。

principal=hive/hadoop.hadoop.com@HADOOP.COM连接hive数据库的Kerberos principal,与hive-site.xml中hive.server2.authentication.kerberos.principal的值保持一致。

4.注意事项

默认情况下Hive数据库服务器中hive.server2.thrift.sasl.qop属性默认值是auth(CDH安装的Hive使用的是默认值)。永洪BI在连接hive数据库时,发现如果url上没有附带saslQop(sasl.qop),会自动添加sasl.qop=auth-conf(驱动默认), 这就造成了永洪BI和Hive数据库服务器加密不一致。此时永洪BI会提示 No common protection layer between client and server,所以需要将sasl.qop和hive.server2.thrift.sasl.qop 保持一致。

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

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

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

hive_keberos