专栏首页大数据实战演练Windows本地安装配置Kerberos客户端
原创

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本地/etc/security/keytabs目录下。

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

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

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

Kerberos客户端显示的Ticket如下:


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

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Kerberos实战

    前面的文章介绍了《Kerberos原理--经典对话》、《Kerberos基本概念及原理汇总》、《基于ambari的Kerberos安装配置》、《Windows本...

    create17
  • 看完您如果还不明白 Kerberos 原理,算我输!

    强大的身份验证和建立用户身份是 Hadoop 安全访问的基础。用户需要能够可靠地 “识别” 自己,然后在整个 Hadoop 集群中传播该身份。完成此操作后,这些...

    create17
  • Kerberos基本概念及原理汇总

    强大的身份验证和建立用户身份是Hadoop安全访问的基础。用户需要能够可靠地“识别”自己,然后在整个Hadoop集群中传播该身份。完成此操作后,这些用户可以访问...

    create17
  • 当你想要摘抄别人文章句子的时候,如何降低重复率?

    我们在看文献的时候经常会看到非常地道的表达,我们把它们抄在一个个小本本上,当我们自己写文章的时候,这些句子就想用到我们的文章中,但是直接抄是不行的,需要改写句式...

    百味科研芝士
  • 【小家思想】通俗易懂版讲解JWT和OAuth2,以及他俩的区别和联系(Token鉴权解决方案)

    OAuth是一个关于授权(authorization)的开放网络协议,在全世界得到广泛应用,目前的版本是2.0版。

    YourBatman
  • 国家互联网数据中心产业技术创新战略联盟成立

    4月25日,由58家产、学、研单位构建的国家互联网数据中心产业技术创新战略联盟在辽宁省沈抚新区正式成立。

    加米谷大数据
  • 剖析Focal Loss损失函数: 消除类别不平衡+挖掘难分样本 | CSDN博文精选

    论文名称:《 Focal Loss for Dense Object Detection 》

    AI科技大本营
  • Django项目之Elasticsearch搜索引擎

    sudo docker image pull delron/elasticsearch-ik:2.4.6-1.0

    菲宇
  • 使用 hexo+github pages 搭建个人博客

    3、配置 _config.yml,将下面代码复制到项目根目录 _config.yml 文件的最后

    Leophen
  • Python 迭代器 - Iterable对象

    迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

    Devops海洋的渔夫

扫码关注云+社区

领取腾讯云代金券