下载地址
https://web.mit.edu/kerberos/dist/index.html
安装运行后会生成配置文件
配置文件的路劲和安装路径无关,是固定的。
C:\ProgramData\MIT\Kerberos5\krb5.ini
下载服务其上的krb5.conf配置文件,
将krb5.conf
配置文件的内容复制到C:\ProgramData\MIT\Kerberos5\krb5.ini
里,并且删除[libdefaults]
上边的内容。
保留部分例如下:
[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
default_realm = HADOOP.COM
[realms]
HADOOP.COM = {
kdc = hadoop01
admin_server = hadoop01
}
[domain_realm]
.hadoop.com = HADOOP.COM
hadoop.com = HADOOP.COM
创建路径:C:\temp
配置环境变量:
C:\temp\krb5cache
的路径默认是不存在的,只需要默认创建C:\temp即可,krb5cache是kerberos认证后自动生成的
变量名 | 变量值 |
---|---|
KRB5_CONFIG | C:\ProgramData\MIT\Kerberos5\krb5.ini |
KRB5CCNAME | C:\temp\krb5cache |
配置完环境变量后,重启计算机使其生效。
下载keytab文件
C:\ProgramData\MIT\Kerberos5\hdfs.keytab
进入安装目录
cd D:\Tools\KerberosClient\bin
推荐添加到环境变量Path中
CMD中运行
kinit -kt C:\ProgramData\MIT\Kerberos5\hdfs.keytab hdfs/hadoop01@HADOOP.COM
查看是否登录成功:
klist
可以看到
登录MIT Kerberos Ticket Manager客户端查看
这样就登录成功了
kinit和klist可能系统中有。
我们可以通过如下命令获取生效的顺序
where klist
where kinit
如图
我们发现klist
生效的不是我们设置的,这就要改变环境变量Path中的顺序
把D:\Tools\KerberosClient\bin
放在系统变量
中Path
的最前面。
注意
优先级:系统变量>用户变量,设置后需要重启电脑。
重启后
目前使用
22.0.3
成功了,使用23.0.4
一直不成功。
步骤
在配置文件D:\Tools\dbeaver\dbeaver.ini
最后添加
-Djavax.security.auth.useSubjectCredsOnly=false
-Djava.security.krb5.conf=C:\ProgramData\MIT\Kerberos5\krb5.ini
-Dsun.security.krb5.debug=true
注意
地址不要加双引号
连接设置 => 编辑驱动设置
把URL模板
jdbc:hive2://{host}[:{port}][/{database}]
修改为
jdbc:hive2://{host}[:{port}][/{database}]/;principal=hdfs/{host}@HADOOP.COM
完整的地址
jdbc:hive2://192.168.7.101:10000/zdb/;principal=hdfs/hadoop01@HADOOP.COM
需要把hdfs-site.xml
、core-site.xml
这两个配置文件放在jar的同级目录。
打开dbever的安装路径下的dbeaver.ini
配置文件,加上
-vm
D:\Tools\Java\jdk1.8.0_102\bin
-Djava.security.auth.login.config=C:/ProgramData/MIT/Kerberos5/jaas.conf
hdfs-site.xml
、core-site.xml
、hbase-site.xml
,并且将三个xml配置文件拷贝到依赖Jar包同级目录下
jdbc:phoenix:hadoop01,hadoop02,hadoop03:/hbase:hdfs/hadoop01@HADOOP.COM:C:\ProgramData\MIT\Kerberos5\hdfs.keytab
添加配置参数:
在连接属性中设置如下参数,与集群中保持一致:
phoenix.schema.isNamespaceMappingEnabled=true
phoenix.schema.mapSystemTablesToNamespace=true
其中jaas.conf
Server {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/data/tools/bigdata/kerberos/hdfs.keytab"
storeKey=true
useTicketCache=false
principal="zookeeper/hadoop01@HADOOP.COM";
};
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="C:/ProgramData/MIT/Kerberos5/hdfs.keytab"
storeKey=true
useTicketCache=false
principal="cli@HADOOP.COM";
};