DataGrip通过SSH隧道连接HIVE并进行Kerberos认证

DataGrip通过SSH隧道连接HIVE并进行Kerberos认证,第1张

DataGrip通过SSH隧道连接HIVE并进行Kerberos认证 准备工作

1. 学习一下SSH隧道原理。

2. 确保机器的某一端口可以被ssh。(找一台机器,用ssh命令试一下。)

1. 配置DataGrip ssh

由于一般公司22端口是被封的,所以只能另开端口。方法网上一堆,博主开的端口是10001

点击Test Connection 成功后;进行下一步。

本地端口要写hive端口。一般10000

2. 认证Kerberos

没有Kerberos的,直接跳过即可。

下载Kerberos客户端  https://web.mit.edu/kerberos/

配置环境变量

KRB5_CONFIG        E:kerboers_authkrb5krb5.ini

KRB5CCNAME        E:kerboers_authtempkrb5cache

环境变量里的路径,一定要保证有这两个文件。

krb5cache 直接新建一个空文件就行,把后缀删掉

获取krb5.conf 与 keytab 文件

之所以环境变量配krb5.ini是因为windows环境可以直接编辑。

放一个krb5.ini的模板:

[libdefaults]
  renew_lifetime = 7d
  forwardable = true
  default_realm = hadoop.ws
  ticket_lifetime = 24h
  dns_lookup_realm = false
  dns_lookup_kdc = false
  #default_ccache_name = /tmp/krb5cc_%{uid}
  #default_tgs_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
  #default_tkt_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5

[realms]
  hadoop.ws = {
    admin_server = kerberos-2.hadoop.ws
    kdc = kerberos-2.hadoop.ws
    kdc = kerberos-3.hadoop.ws
    kdc = kerberos-4.hadoop.ws
  }

接下来执行kinit

kinit -kt E:kerboers_authkrb5urc.keytab urc@hadoop.ws

如果报错,环境变量path里添加 ;C:Program FilesMITKerberosbin

成功后,安装的客户端里会有票据的过期时间。

好了,windows 这边配置好了。接下来配置DataGrip

修改url模板。

jdbc:hive2://{host::localhost}?[:{port::10000}][/{database:::schema}?];principal=hive/aabb.hadoop.ws@hadoop.ws[;<;,user={user},password={password},{:identifier}={:identifier}>]

 把这段 principal=hive/aabb.hadoop.ws@hadoop.ws  换成你自己的地址。

不然会报错  Unable to apply SSH settings: Host & port not found. Fix URL or create template

修改连接属性:

-Djava.security.krb5.debug=true
-Djava.security.krb5.conf=E:kerboers_authkrb5krb5.ini
-Djavax.security.auth.useSubjectCredsonly=false

 好了。Kerberos 配置完成了。

3.最后一步,进行ssh配置以及连接HIVE。

 

不用点赞。估计没人看到这里。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5688571.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存