一、配置Mit kerberos
1.1 下载安装MIT KERBEROS客户端
MIT KERBEROS 下载较新的版本即可。
下载之后一路默认安装即可。注意:不要修改软件安装位置。
修改系统环境变量中的Path。将刚刚的安装路径置顶。(不置顶,也要比%JAVA_HOME%\bin
和anaconda
相关的高)
使用CMD命令确认下:
1.2 修改krb5.conf文件并创建krb5.ini配置文件
krb5.conf 一般存储在集群的/etc
目录下。
其中conf文件中仅需要保留一下三大项中的内容即可。如果有此项renew_lifetime = 1800d
需要删除或注释(行首添加#
)
[libdefaults]
... ...
[realms]
... ...
[domain_realm]
... ...
将krb5.conf
复制一份并改名为krb5.ini
即可。krb5.ini
是供MIT KERBEROS软件使用的。
修改添加环境变量:如下两个位置最好不要自定义,都在默认的MIT KERBEROS位置即可。避免不必要的麻烦。
KRB5CCNAME
是MIT KERBEROS软件自动创建的。
1.3 本地认证kerberos
向管理员索取Keytab文件。
打开打开keytab所在位置。按住shift点击右键点击open cmd windos here
,打开CMD窗口。
# 获取pricipal
klist -kt xxx.keytab
# 认证授权
kinit -kt xxx.keytab xxx@XXXXX.COM
# 验证下
klist
1.4 验证结果:
同时MIT KERBEROS软件也会获取到成功的结果:
二、使用Cloudera驱动dbeaver连接Hive(cache方式)
配置dbeaver.ini
增加如下配置
-Djavax.security.auth.useSubjectCredsOnly=false
-Djava.security.krb5.conf=D:/env/Kerberos/krb5.ini
-Dsun.security.krb5.debug=true
编辑驱动
编辑URL模板
驱动URL链接模板
-- 注意:KrbAuthType=2;AuthMech=1 是固定的。
jdbc:hive2://{host}[:{port}][/{database}];KrbRealm=XXXXX.COM;KrbHostFQDN={host};KrbServiceName=hive;KrbAuthType=2;AuthMech=1
AuthMech
的由来:com.cloudera.hiveserver1.hivecommon.AuthMech
KrbAuthType
的由来com.cloudera.hiveserver2.hivecommon.KrbAuthType
测试连接
idea连接Hive(cache方式)
添加驱动
添加连接
# 模板和dbeaver中的一模一样
jdbc:hive2://{host}[:{port}][/{database}];AuthMech=1;KrbRealm=XXXXX.COM;KrbHostFQDN={host};KrbServiceName=hive;KrbAuthType=2
# 分别将{host} 、 [:{port}],[/{database}] 替换为自己的内容即可
示例如下:
jdbc:hive2://abc.com:10000/mydb;KrbRealm=XXXXX.COM;KrbHostFQDN=abc.com;KrbServiceName=hive;KrbAuthType=2;AuthMech=1
测试连接
三、使用Apache驱动dbeaver连接Hive(cache方式)
配置dbeaver.ini
增加如下配置
-Djavax.security.auth.useSubjectCredsOnly=false
-Djava.security.krb5.conf=D:/env/Kerberos/krb5.ini
-Dsun.security.krb5.debug=true
mvnrepository
编辑驱动下载地址
修改URL模板
测试连接
驱动下载失败处理办法:
其他报错:
四、Phoenix连接
4.1 编写jass.conf
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
useTicketCache=false
keyTab="D:/xxx/xxx.keytab"
principal="xxx@XXXXX.COM";
};
com.sun.security.jgss.krb5.initiate {
com.sun.security.auth.module.Krb5LoginModule required
renewTGT=false
doNotPrompt=true
useKeyTab=true
keyTab="D:/env/Kerberos/xxx.keytabs"
principal="xxx@XXXXX.COM"
storeKey=true
useTicketCache=false;
};
4.3 修改dbeaver.ini
打开dbeaver安装目录,找到dbeaver.ini文件进行编辑,追添加如下内容
-Djavax.security.auth.useSubjectCredsOnly=false
-Djava.security.krb5.conf=D:\xxx\krb5.conf
-Dsun.security.krb5.debug=true
-Djava.security.auth.login.config=D:\xxx\jaas.conf
4.4 获取集群配置文件
(1)hadoop的hdfs-site.xml
和core-site.xml
配置文件
(2)hbase的hbase-site.xml
使用压缩工具(如360压缩)打开phoenix-5.0.0-cdh6.2.0-client.jar
,将以上三个配置文件拖入空白处,即自动保存。
4.5 配置驱动
4.6 编辑驱动URL链接模板
路径可以在hbase-site.xml
中获取
<property>
<name>zookeeper.znode.parent</name>
<value>/hbase-secure</value>
</property>
4.7 测试
五、impala连接
下载驱动,参考下文Cloudera驱动下载
编辑驱动
编辑URL模板
jdbc:impala://{host}:{port}[/{database}];AuthMech=1;KrbRealm=XXXXX.COM;KrbHostFQDN={host};KrbServiceName=impala
测试连接
附:Cloudera驱动下载
cloudera官网
1.1 官网页面下载
下载页面 的Database Drivers 挑选比较新的版本即可。
1.2 集群下载
Hive可能集群没有驱动包。驱动包名称:HiveJDBC42.jar
。41结尾的包也可以使用的。注意Jar包的大小一定是十几MB的。几百KB的是thin包不可用。
如下的jar是不可用的。
[root@mycentosprod lib]# ll -h | grep jdbc
-rw-r--r-- 1 root root 116K 9月 9 2021 hive-jdbc-2.1.1-cdh6.2.0.jar
Phoenix 包名称:phoenix-5.0.0-cdh6.2.0-client.jar
文章来源:https://www.toymoban.com/news/detail-783830.html
-sh-4.2$ ll -h | grep client
-rw-r--r--. 1 root root 137M Dec 22 2022 phoenix-5.0.0-cdh6.2.0-client.jar
五、参考连接:
DBeaver连接phoenix
Kerberos环境下使用Dbeaver链接Phoenix
Windows下Dbeaver连接设置Kerberos后的Hive和Phoenix
idea连接kerberos认证的hive
DBeaver连接hive(详细图解) 参考可以配置dbeaver的驱动下载地址和坐标文章来源地址https://www.toymoban.com/news/detail-783830.html
到了这里,关于【dbeaver】win环境的kerberos认证和Clouders/cdh集群中Kerberos认证使用Dbeaver连接Hive、Impala和Phoenix的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!