使用Kerberos keytab通过Beeline连接到Hive

时间:2015-07-02 23:06:34

标签: hadoop hive kerberos keytab

是否可以通过beeline使用(kerberos)keytab文件连接到Hive,类似于用于JDBC的方法

https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients#HiveServer2Clients-UsingKerberoswithaPre-AuthenticatedSubject

PS:beeline确实支持使用用户名和密码连接kerberos安全的hive服务器。但我正在寻找一种方法来连接它与keytab文件。 http://doc.mapr.com/display/MapR40x/Configuring+Hive+on+a+Secure+Cluster#ConfiguringHiveonaSecureCluster-UsingBeelinewithKerberos

2 个答案:

答案 0 :(得分:6)

我认为您无法将keytab文件连接到beeline,但是您可以使用kinit获取keytab的票证,然后使用beeline的jdbc连接字符串传递hive服务器主体以进行连接。

kinit -k -t keytab principal

与beeline连接的连接字符串

!connect jdbc:hive2://hostname:10000/default;principal=hive/_HOST@REALM

答案 1 :(得分:1)

一个错误,但它不是一个关键

虽然您提供了 kerberos详细信息,但仍会询问您的用户名和密码。你可以输入 - >输入,它允许我们连接。

示例:

!connect jdbc:hive2://:10000/default;principal=hive/_HOST@REALM.COM

Connecting to jdbc:hive2://:10000/default;principal=hive/_HOST@REALM.COM

Enter username for jdbc:hive2://:10000/default;principal=hive/_HOST@REALM.COM: press enter

Enter password for jdbc:hive2://:10000/default;principal=hive/_HOST@REALM.COM: press enter

Connected to: Apache Hive (version 0.13.1-cdh5.3.7-SNAPSHOT)
Driver: Hive JDBC (version 0.13.1-cdh5.3.7-SNAPSHOT)
Transaction isolation: TRANSACTION_REPEATABLE_READ