1 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
2 windows版
2.1 下载kerberos客户端
http://web.mit.edu/kerberos/dist/
下载kfw-4.1-amd64.msi,如下图:
2.2 安装kerberos
2.2.1 安装
点击完成。后面会出现提示框,是否重启计算机,选择 No。
2.2.2 配置环境变量
安装完了Kerberos客户端会自动的在path里面加上了自己的目录,但是如果windows本地安装了Oracle JDK ,该JDK里面也带了一些 kinit, klist 等命令,所以需要把 Kberberos的环境变量调整得靠前一点,如图所示:
当命令行执行klist,显示下面结果,说明配置成功。
2.3 修改kerberos客户端配置文件
文件所在位置:
在文件中添加集群上 /etc/krb5.conf 文件的如下部分
2.4 客户端认证
- 打开Windows客户端
- 使用密码认证
输入认证主体名与认证密码,点击ok进行认证。
认证完成如下
2.5 使用init认证
在cmd命令行中输入kinit
2.6 安装和配置Firefox浏览器
2.6.1 安装
官方下载安装即可,地址:https://www.firefox.com.cn/
2.6.2 配置
火狐浏览器地址栏输入"about:config"
在搜索栏中搜索"network.negotiate-auth.trusted-uris",并点击右侧的编辑按钮,如下:
输入要访问节点的hostname,多个hostname使用","分割,如下:
搜索栏中再次搜索"network.auth.use-sspi",并修改为false。
2.7 验证权限
认证使用hdfs进行认证,认证完成后分别访问hdfs web的browse the file system,以及solr的web页面。
cdh默认情况下是没有对yarn与hdfs的web开启安全认证的,但是solr是开启的,所以如果不做安全认证也可以访问到hdfs与yarn的页面,但是当你访问browse the file system的时候就会报权限问题,因为如果你没有做安全认证,那么默认为你操作系统用户名进行访问的。
访问hdfs webui
点hdfs服务 → NameNode web UI
访问 solr web UI
点solr服务 → 点 solr server → solr 服务 webUI