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。
不用点赞。估计没人看到这里。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)