使用DBeaver连接带有Kerberos认证的hive(亲测可用)、hive的jdbc连接串说明
先下载工具
https://yvioo.lanzn.com/isBg42j0fu7e
里面是两个文件 一个jar包 一个安装包
首先点击kfw-4.1-amd64.msi 进行安装,建议直接默认配置安装 选择"TYPE"
安装完成后 点击
1、先配置环境变量
第一个
变量名:KRB5_CONFIG
变量值: 这个就是Kerberos认证给的krb5.conf文件 这边重命名改成 krb5.ini
第二个
变量名:KRB5CCNAME
变量值:这个就是Kerberos认证通过后会生成一个缓存文件 可以和上面krb5.ini一个路径 名字就叫krb5.cache
最终结果
2、配置hosts文件
接着打开本地hosts文件,把给到的对应的ip域名映射加进去,同时确保本地网络是通的
默认是:C:\Windows\System32\drivers\etc 在这个底下
3、进行Kerberos认证
然后执行命令先进行认证,命令行打开窗口执行 (这是伪命令,根据自己实际的来)
"C:\Program Files\MIT\Kerberos\bin\kinit" -k -t D:\DBeaver\test.keytab wueus@sdff.se.cn
说明:
C:\Program Files\MIT\Kerberos\bin\kinit : 这个就是一个安装包安装的默认路径 如果没有修改 默认就是这个路径 如果改了 选择自己的目录
D:\DBeaver\test.keytab :这个就是Kerberos认证的keytab文件
wueus@sdff.se.cn :这个就是给到的认证实体
如果认证通过了 通过执行 "C:\Program Files\MIT\Kerberos\bin\klist" 这个能看到认证内容,如果认证通过了 那个krb5.cache 文件也会刷新
4、DBeaver连接hive
注意:认证通过后是需要DBeaver工具的
打开DBeaver的安装目录 找到 dbeaver.ini 文件
增加
-Ddbeaver.distribution.type=exe -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf=D:/DBeaver/krb5.ini -Dsun.security.krb5.debug=true
说明:
其他几个属性固定 主要修改
-Djava.security.krb5.conf:这个就是上面那个krb5.ini的路径 根据自己的来
这里直接把端口和数据库清空 把可以使用的连接串直接放到主机那个里面 ,用户名和密码不需要填写,如上图
然后还需要改驱动
把这里的默认jar清空掉 选择从工具包里面下载用的那个jar
弄好之后就可以连接了
hive的jdbc连接串 形式参考 :
zk形式连接:jdbc:hive2://{zk连接串}/{库名};serviceDiscoveryMode=zooKeeper;zooKeeperNamespace={命名空间}
说明: zk连接串取值:对应hive-site.xml 文件的 hive.zookeeper.quorum 这个值
库名:就是你自己要连接的库名了 自己定
命名中间:对应hive-site.xml 文件的 hive.server2.zookeeper.namespace 的值,一般是 hiveserver2
最终格式一般是:jdbc:hive2://jyt1u:2181,la2r:2181,y03v:2181/test;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2