mac版
- 检查操作系统是否安装kerberos客户端
kinit
# 如果提示找不到命令,请使用如下命令安装
brew install krb5
- 下载并修改配置文件
# 下载kerberos服务端的krb5.conf文件到本地,复制到/etc/目录下
# 修改为如下内容
# Configuration snippets may be placed in this directory as well
# 下面这行注释掉,server端是打开状态的
# includedir /etc/krb5.conf.d/
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[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 = HAINIU.COM
#下面这行与server端保持一致,注释状态
# default_ccache_name = KEYRING:persistent:%{uid}
[realms]
HAINIU.COM = {
# mac使用的是udp协议,但是kerberos使用的是tcp协议,所以在服务节点前面加"tcp/"
kdc = tcp/worker-1
admin_server = tcp/worker-1
}
[domain_realm]
.worker-1 = HAINIU.COM
worker-1 = HAINIU.COM
- 认证测试
kinit hive
klist
windows版
- 安装Firefox浏览器
官方下载安装即可
- 下载kerberos客户端
http://web.mit.edu/kerberos/dist/
下载kfw-4.1-amd64.msi,如下图:
- 安装kerberos
安装完成会要求重启系统,照做。
至此,安装完成。
- 修改配置文件
文件目录C:\ProgramData\MIT\Kerberos5\krb5.ini
在文件中添加集群上krb5.conf文件的如下部分
如下配置,根据自己集群情况更改为自己的。
[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 = HAINIU.COM
# default_ccache_name = KEYRING:persistent:%{uid}
[realms]
HAINIU.COM = {
kdc = worker-1
admin_server = worker-1
}
[domain_realm]
.worker-1 = HAINIU.COM
worker-1 = HAINIU.COM
- 打开Windows客户端
- 使用密码认证
输入认证主体名与认证密码,点击ok进行认证。
认证完成如下
- 使用keytab文件认证
在cmd命令行中输入kinit -kt <keytab文件目录> <principal主体>
- firefox浏览器配置
火狐浏览器地址栏输入"about:config"
在搜索栏中搜索"network.negotiate-auth.trusted-uris",并点击右侧的编辑按钮,如下:
输入要访问节点的hostname,多个hostname使用","分割,如下:
搜索栏中再次搜索"network.auth.use-sspi",并修改为false。
- 验证权限
认证使用hdfs进行认证,认证完成后分别访问hdfs web的browse the file system,以及solr的web页面。
cdh默认情况下是没有对yarn与hdfs的web开启安全认证的,但是solr是开启的,所以如果不做安全认证也可以访问到hdfs与yarn的页面,但是当你访问browse the file system的时候就会报权限问题,因为如果你没有做安全认证,那么默认为你操作系统用户名进行访问的。