windows下dbeaver客戶端連接hive--kerberos認證方式


  本文實操環境是hadoop的cdh5.7版本,hive的認證方式是kerberos,kerberos的認證方式是基於客戶機的,所以步驟可以分為兩步:

1、dbeaver所在的機器完成kerberos認證

2、debaver通過jdbc連接hive

kerberos認證通過后在有效期之內,該機器都可以連接hive,但是要注意,機器重啟后,認證可能會失效,過期或者失效之后重新執行認證命令即可。

一、kerberos認證

1、安裝kerberos客戶端

客戶端下載地址如下:

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

 

下載完后點擊安裝即可。

2、cdh的認證文件准備

cdh管理員索取krb5.keytab跟krb5.conf文件以及hive的用戶名,krb5.conf文件默認路徑為:/etc/krb5.conf

然后把krb5.conf文件的內容拷貝新建到文檔krb5.ini,因為windows識別不到conf類型的配置文件。以下是我的krb5.ini的文件內容,我把它放到D:\krb5文件夾下:

3、配置環境變量

變量名:KRB5_CONFIG,變量值:D:\krb5\krb5.ini

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

KRB5CCNAME為認證成功后生成的認證緩存文件存放路徑及文件名,要確保C:\temp路徑存在,krb5cache是認證成功后自動生成的。

 

4、進行認證

按住菜單鍵+R,輸入cmd,打開dos操作界面

 

 

 

進入kerberos客戶端的安裝目錄下的bin文件夾

我安裝客戶端使用的是默認安裝路徑,所以輸入以下命令:

cd C:\Program Files\MIT\Kerberos\bin

然后根據krb5.keytab進行認證,命令格式如下:

kinit -kt krb5.keytab 用戶名

需要注意如果krb5.keytab並不在當前目錄C:\Program Files\MIT\Kerberos\bin,則需要補充路徑,認證完畢之后,可以執行命令klist查看認證有效期以及生成的緩存文檔。

 

 

 

至此kerberos認證完畢。

二、dbeaver客戶端配置

1、配置hosts文件

添加cdh各服務器的ip跟域名

 

 

2、創建hive連接

編輯驅動設置,上傳hive的驅動包,注意一定要跟服務器端的版本一直,不然會出現報錯

添加完之后點擊找到類,選擇正確的驅動

編輯URL模板,在后面加上內容“;principal=hive/{host}@EXAMPLE.COM”,注意{host}可以直接填寫hiveserver2所在服務器的hostname代替,如:“;principal=hive/cdh1@EXAMPLE.COM”;@后面的內容是根據krb5.ini里面的default_realm值來填寫。

修改完之后點擊確定保存,返回上層填寫jdbc的連接信息,

 

 

如果在url模板中直接的內容為“;principal=hive/{host}@EXAMPLE.COM”,那么主機只能填寫hive服務器的hostname,如果填寫內容為“;principal=hive/cdh1@EXAMPLE.COM”,那么主機名可以使用hive服務器的hostname也可以使用hive服務器的ip,填寫數據庫名稱以及用戶名后點擊確定保存設置,然后在左側點擊連接數據庫:

 

 

P.S.

1、jdbc鏈接的編寫方式其實是由hive的配置文件hive-site.xml決定的,如圖:

 

value中的_HOST替換成hive的hostname即為連接模板。

2、在dbeaver創建hive的連接過程中,如果一旦出錯,最好刪除該鏈接重新創建,不然會出現很多虛假問題。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM