<< Click to Display Table of Contents >> 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数据库连接示例: