Windows本地安装配置Kerberos客户端

前言

在Ambari平台上,启用了Kerberos之后,一些服务的Web UI,像Namenode:50070、Oozie Web UI、Storm UI、Solr Web UI等快速链接大部分都是需要Kerberos认证才可以继续使用的。

像这种情况,就不能在Linux上进行操作了,需要在Windows上安装Kerberos客户端,再进行浏览器配置才可以访问Hadoop服务的Web UI界面。

安装配置主要分为以下几步

  1. 在windows上安装Kerberos客户端,并修改本地krb5.ini文件

  2. 配置hosts文件,添加集群ip映射

  3. 配置浏览器

  4. Kerberos认证

一、安装配置Kerberos客户端

1. 下载

官方下载地址:http://web.mit.edu/kerberos/dist/

根据自己windows操作系统来选择对应版本,我的是64位操作系统。

2. 安装

      

我们这里选择Typical,点击蓝色方框位下一步。


点击完成。后面会出现提示框,是否重启计算机,我们选择 No就可。

3. 调整环境变量

注:没有装JDK的可以忽略这一步。

安装完了Kerberos客户端会自动的在path里面加上了自己的目录,但是如果windows本地安装了Oracle JDK ,该JDK里面也带了一些 kinit, klist 等命令,所以需要把 Kberberos的环境变量调整得靠前一点,如图所示:

调整环境变量前:

调整环境变量后:

4. krb5.ini配置

文件路径:C:\ProgramData\MIT\Kerberos5\krb5.ini

Kerberos KDC所在主机的/etc/krb5.conf文件有选择的粘贴到windows的krb5.ini里面

[libdefaults]
  renew_lifetime = 7d
  forwardable = true
  default_realm = XDATA.COM
  ticket_lifetime = 24h
  dns_lookup_realm = false
  dns_lookup_kdc = false
  # default_ccache_name = /tmp/krb5cc_%{uid}
  # default_tgs_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
  # default_tkt_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5

[realms]
  XDATA.COM = {
    admin_server = 10.6.6.96
    kdc = 10.6.6.96 
  }

二、配置hosts文件

文件路径:C:\Windows\System32\drivers\etc\hosts

添加ip的映射

10.6.6.96 node96.xdata
10.6.6.97 node97.xdata
10.6.6.98 node98.xdata

三、配置浏览器

由于技术有限,目前只实现如何配置火狐Firefox浏览器,在火狐浏览器上访问Hadoop的Web UI。

打开浏览器,在地址栏输入about:config,如图所示:

点击我了解此风险继续,在搜索栏内,搜索network.negotiate-auth.trusted-uris双击将其值修改为集群节点ip或主机名,注意:这里如果修改为主机名的话,到时候访问的话,就以主机名访问,ip的话会失效,不起作用。

搜索network.auth.use-sspi,将值改为false

四、Kerberos认证

有两种方式:

  • 直接认证Kerberos主体,但得手动输入密码

  • 通过keytab密钥认证Kerberos主体,不需要手动输入密码,但前提是密钥要与Kerberos主体对应。

实例:

第一种认证方式

Kerberos KDC所在主机上创建一个主体

有了lyz@XDATA.COM这个主体之后,我们可以双击打开我们的Kerberos客户端,获取Ticket

也可以在windows命令行内执行

第二种认证方式

也分两种情况,一种是服务自带的keytab,一种是我们手动生成的keytab。

实例:

我们先创建lyz@XDATA.COM的keytab文件,命令如下:

cd /etc/security/keytabs
kadmin.local
ktadd -norandkey -k lyz@keytab lyz@XDATA.COM  # -norandkey参数用于创建keytab时,密码保持不变

我们将上述hdfs.headless.keytab和lyz.keytab文件复制到windows本地任意目录下,我是放在了 C:\ProgramData\MIT\Kerberos5\ 目录下了。

Kebreros通过keytab的方式来认证Kerberos主体,假设我们不知道keytab对应的是哪个Kerberos主体,那么我们可以使用klist -kte命令来查看keytab,然后在使用kinit命令认证,如下图所示:

注意: 上面的kinit认证,只需要认证成功一种就可以任意访问Hadoop所有服务了,上面只是针对kinit的命令选择进行了罗列。

这样我们就可以访问我们的Namenode:50070、Oozie Web UI、Storm UI、Solr Web UI等等了,如图所示:

Kerberos客户端显示的Ticket如下:


更多精彩干货内容,请关注微信公众号实时查看

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

create17

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值