一 问题描述
CDH集群启用 HTTP Web 控制台的 Kerberos 身份验证后,FireFox下HTTP访问HDFS、Yarn、Hive、HBase等Hadoop服务的Web UI(如Namenode的50070,Yarn的8088)等出现错误:
GSSException: Defective token detected (Mechanism level: GSSHeader did not find the right tag)
二 解决方案 思路:
- windows 10 安装kerberos客户端
- 配置谷歌浏览器
- 测试
参考:https://blog.csdn.net/hadoop_sc/article/details/84108404
1. win10安装kerberos 客户端
1.1 下载地址:http://web.mit.edu/kerberos/dist/kfw-4.1-amd64.msi
1.2 双击安装,默认下一步,选择typical,install。
1.3 配置C:\ProgramData\MIT\Kerberos5\krb5.ini文件
将centos7 /etc/krb5.conf 中的内容:
[libdefaults] dns_lookup_realm = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true rdns = false default_realm = HADOOP.COM udp_preference_limit = 1# default_ccache_name = KEYRING:persistent:%{uid}[realms] HADOOP.COM = { kdc = duan139 admin_server = duan139 }[domain_realm] .example.com = HADOOP.COM example.com = HADOOP.COM
复制到krb5.ini中。注意:此处将标注部分拷贝至krb5.ini文件中,否则会导致MIT Kerberos无法正常启动,如果直接将krb5.conf文件更名为ini文件并替换krb5.ini文件会出现文件格式问题导致MIT Kerberos无法正常启动。
1.4 配置完成后,启动MIT Kerberos客户端
输入centos 7上创建的用户,可以看到获取的Ticket。
cmd命令运行窗口:
kinit duan@HADOOP.COM
报错:ICMP Port Unreachable,先不管。kdestroy命令为清除缓存。
2. firefox浏览器配置
2.1 网址栏输入about:config
修改: network.negotiate-auth.trusted-uris = duan139
参数说明:network.negotiate-auth.trusted-uris此参数主要配置需要访问服务的hostname,如果需要访问多个host则以“,”分割。
修改:network.auth.use-sspi = false
3. 测试
namenode web UI :50070端口 ,正常访问。