MIT KERBEROS 下载较新的版本即可。
下载之后一路默认安装即可。注意:不要修改软件安装位置。
修改系统环境变量中的Path。将刚刚的安装路径置顶。(不置顶,也要比%JAVA_HOME%\bin
和anaconda
相关的高)
使用CMD命令确认下:
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软件自动创建的。
向管理员索取Keytab文件。
打开打开keytab所在位置。按住shift点击右键点击open cmd windos here
,打开CMD窗口。
# 获取pricipal
klist -kt xxx.keytab
# 认证授权
kinit -kt xxx.keytab xxx@XXXXX.COM
# 验证下
klist
同时MIT KERBEROS软件也会获取到成功的结果:
配置dbeaver.ini
增加如下配置
-Djavax.security.auth.useSubjectCredsOnly=false
-Djava.security.krb5.conf=D:/env/Kerberos/krb5.ini
-Dsun.security.krb5.debug=true
驱动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
# 模板和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
配置dbeaver.ini
增加如下配置
-Djavax.security.auth.useSubjectCredsOnly=false
-Djava.security.krb5.conf=D:/env/Kerberos/krb5.ini
-Dsun.security.krb5.debug=true
测试连接
驱动下载失败处理办法:
其他报错:
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;
};
打开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
(1)hadoop的hdfs-site.xml
和core-site.xml
配置文件
(2)hbase的hbase-site.xml
使用压缩工具(如360压缩)打开phoenix-5.0.0-cdh6.2.0-client.jar
,将以上三个配置文件拖入空白处,即自动保存。
路径可以在hbase-site.xml
中获取
<property>
<name>zookeeper.znode.parentname>
<value>/hbase-securevalue>
property>
下载驱动,参考下文Cloudera驱动下载
jdbc:impala://{host}:{port}[/{database}];AuthMech=1;KrbRealm=XXXXX.COM;KrbHostFQDN={host};KrbServiceName=impala
下载页面 的Database Drivers 挑选比较新的版本即可。
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
-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的驱动下载地址和坐标