前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows本地安装配置Kerberos客户端

Windows本地安装配置Kerberos客户端

原创
作者头像
create17
修改2019-01-02 14:38:48
17.6K4
修改2019-01-02 14:38:48
举报

前言

在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里面

代码语言:javascript
复制
[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的映射

代码语言:javascript
复制
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文件,命令如下:

代码语言:javascript
复制
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如下:


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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、安装配置Kerberos客户端
    • 1. 下载
      • 2. 安装
        • 3. 调整环境变量
          • 4. krb5.ini配置
          • 二、配置hosts文件
          • 三、配置浏览器
          • 四、Kerberos认证
            • 第一种认证方式
              • 第二种认证方式
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档