前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0474-如何使用SQL Developer访问Hive

0474-如何使用SQL Developer访问Hive

作者头像
Fayson
发布2018-12-24 16:41:18
1.5K0
发布2018-12-24 16:41:18
举报
文章被收录于专栏:Hadoop实操Hadoop实操Hadoop实操

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

Fayson的github: https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1

文档编写目的

Fayson在前面的文章也介绍了几款SQL客户端工具用来访问CDH集群的Hive和Impala,本篇文章Fayson再介绍一款Oracle的SQL客户端工具SQL Developer,使用该工具访问Kerberos环境下的Hive。

由于Fayson的集群环境集成了AD和Kerberos,在文章中两中访问方式都会介绍及验证。

  • 测试环境

1.RedHat7.2

2.CM和CDH版本为5.15.0

3.Window Server 2012R2

4.SQL Developer版本18.3.0.277

2

安装Kerberos客户端

由于集群启用了Kerberos,所以在我们的客户端必须要安装Kerberos客户端工具。

1.在Kerberos官网下载,地址如下

https://web.mit.edu/kerberos/dist/index.html

安装过程这里就不在详细说明了。

2.将CDH集群的/etc/krb5.conf文件,在Window客户端如下目录创建krb5.ini文件,内容如下:

“C:\ProgramData\MIT\Kerberos5\krb5.ini”
[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = true
default_realm = FAYSON.COM
#default_ccache_name = KEYRING:persistent:%{uid}

[realms]
FAYSON.COM = {
  kdc = adserver.fayson.com
  admin_server = adserver.fayson.com
}

[domain_realm]
.fayson.com = FAYSON.COM
fayson.com = FAYSON.COM

3.配置环境变量,krb5.ini文件以及Kerberos Credential Cache File的路径

变量名:KRB5_CONFIG,变量值:C:\ProgramData\MIT\Kerberos5\krb5.ini

变量名:KRB5CCNAME,变量值:C:\temp\krb5cache

注意:KRB5CCNAME的路径默认是不存在的,因此需要在C盘下创建temp文件夹,krb5cache文件则不需要创建。

配置完环境变量后,重启计算机使其生效。

4.完成以上配置后,在Window客户端测试是否能够正常kinit

Kinit成功后

3

准备SQL Developer工具

在Oracle官网下载最新版本的SQL Developer工具,地址如下:

https://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

Fayson选择的Windows 64-bits版本,该版本包含了JDK8。

4

Hive JDBC驱动包

Fayson使用的Hive JDBC驱动包为Cloudera提供的包,该驱动包只有一个Jar包比较简洁,不用考虑Hive JDBC驱动依赖问题。在Cloudera官网有下载,地址如下;

https://www.cloudera.com/downloads/connectors/hive/jdbc/2-6-2.html

5

SQLDeveloper加载第三方驱动

1.将下载好的SQLDeveloper客户解压,运行sqldeveloper

2.点击“工具”->“首选项”

3.打开配置项,在配置项中找到“数据库”->”第三方JDBC驱动程序”

4.通过“添加条目”将准备好的JDBC驱动包加载

以上就完成Hive JDBC驱动的添加。

6

LDAP方式访问Hive

Fayson在CDH集群中为HiveServer2服务集成了LDAP,该章节使用LDAP的方式访问Hive, Cloudera的JDBC驱动支持LDAP方式访问Hive。

1.创建一个新的数据库连接

2.进入JDBC访问信息填写界面

点击“添加”对JDBC连接添加额外的参数“AuthMech=3”

基于LDAP的方式访问Hive,则需要输入LDAP的用户名和密码,HiveServer2服务的相关信息访问地址及端口号,选择驱动程序为“CLOUDERA HIVE JDBC 4.1”。

注意:由于Cloudera提供的JDBC驱动在使用LDAP方式访问Hive时需要添加额外的连接参数、通过“添加”操作完成,添加参数后界面上会显示该参数并为参数赋值。

3.完成配置后,点击“测试”按钮进行JDBC连接测试

4.点击“保存”完成JDBC连接的创建

7

Kerberos方式访问Hive

在前面已经在客户安装配置好了Kerberos客户端,并且在SQLDeveloper中添加了Hive JDBC的驱动包,接下来直接添加一个使用Kerberos方式访问Hive的连接。

1.使用Kerberos客户端kinit一个账号

2.在SQLDeveloper客户端添加一个新的连接

3.添加Kerberos相关参数,需要在连接中增加参数

AuthMech=1
KrbHostFQDN=cdh2.fayson.com
KrbRealm=FAYSON.COM
KrbServiceName=hive

4.完成上述配置后,点击“测试”

5.保存连接,进行测试

8

总结

1.注意在使用Cloudera提供的Hive驱动包访问Kerberos和LDAP环境下的Hive时需要在连接中增加额外的参数“AuthMech”等。

2.特别强调在Window机器上配置Kerberos客户端时,需要配置KRB5_CONF和KRB5CCNAME两个环境变量,否则在使用访问时会报“Unable to obtain Principal Name for authentication”

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档