Kerberos+HDP客户端部署与配置

编程入门 行业动态 更新时间:2024-10-28 15:24:40

背景说明:

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

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

 

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

 

  1. 在windows上安装Kerberos客户端,并修改本地krb5.ini文件
  2. 配置hosts文件,添加集群ip映射
  3. 配置浏览器
  4. Kerberos认证
    一、安装配置Kerberos客户端
    下载 MIT Kerberos for Windows 4.1
    地址:http://web.mit.edu/kerberos/dist/
    Windows 64位:64-bit MSI Installer kfw-4.1-amd64.msi, 10812k.
    根据自己windows操作系统来选择对应版本

  1. 客户端安装

选择Typical,点击下一步。

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

 

默认安装路径:

MIT Kerberos软件的安装按照向导一步步操作即可,其安装目录默认为“C:\Program Files\MIT\Kerberos”。

krb5.ini配置

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

从HDP KDC Server节点的/etc目录下拷贝krb5.conf文件MIT Kerberos软件的安装目录。

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

[libdefaults]

default_realm = DLAKE.COM

dns_lookup_realm = false

dns_lookup_kdc = true

rdns = false

ticket_lifetime = 24h

forwardable = true

udp_preference_limit = 0

#default_ccache_name = KEYRING:persistent:%{uid}

#default_ccache_name = FILE:/tmp/krb5cc_%{uid}

[realms]

DLAKE.COM = {

kdc = ipa1.dlake:88

master_kdc = ipa1.dlake:88

admin_server = ipa1.dlake:749

kdc = ipa2.dlake:88

master_kdc = ipa2.dlake:88

admin_server = ipa2.dlake:749

default_domain = dlake

#pkinit_anchors = FILE:/var/lib/ipa-client/pki/kdc-ca-bundle.pem

#pkinit_pool = FILE:/var/lib/ipa-client/pki/ca-bundle.pem

}

说明:krb5.ini是系统文件 需要admin账户权限修改。

windows10以管理员身份运行的设置方法:

过计算机管理永久开启Administrator管理员账号登录

右键桌面的“计算机” - 选择“管理”;依次展开“计算机管理(本地) - 系统工具 - 本地用户和组 - 用户”在右边的文件里面找到“Administrator”并双击它,在“常规”选项下将“账户已禁用”的勾去掉,这样就开启了 Administrator(管理员)账户。

配置MIT Kerberos环境变量

配置如下环境变量:

变量名:KRB5_CONFIG

变量值:C:\ProgramData\Kerberos\krb5.ini

说明:ProgramData在window中是隐藏文件,需要打开隐藏文件、

注:环境变量KRB5_CONFIG的变量值为krb5.ini文件存放路径

变量名:KRB5CCNAME

变量值:D:\tmp\krb5cc_0

说明:环境变量KRB5CCNAME的变量值为HDP集群中某个用户或大数据服务对应用户的票据缓存文件存放路径。在Windows操作系统下创建目录,用来存放从HDP集群中拷贝的票据缓存文件,此处目录为D:\tmp。

在MIT客户端工具中认证的话,会自动在这个目录中生成krb5cc_0该文件

票据缓存文件获取实例:

[root@hdp2 ~]#

kinit -kt /etc/security/keytabs/hdfs.headless.keytab hdfs-hdp1-auth@DLAKE.COM

[root@hdp2 ~]# klist

Ticket cache: FILE:/tmp/krb5cc_0 (注:该文件拷贝至Windows环境的用户票据缓存文件存放路径即可)

Default principal: hdfs-hdp1-auth@DLAKE.COM

 

配置hosts文件

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

 

添加ip的映射

说明:如果客户端不访问ipa的话 ipa的ip与hostname映射可以不用加

10.167.*.17 ipa1.dlake ipa1

10.167.*.18 ipa2.dlake ipa2

10.167.*.8 hdp1.dlake hdp1

10.167.*.16 hdp2.dlake hdp2

10.167.*.15 hdp3.dlake hdp3

 

Kerberos认证

有两种方式:

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

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

第一种认证方式

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

如: kadmin.local “addprinc zhangsan/zhangsan”

 

有了主体票据之后,双击打开Kerberos客户端,获取Ticket。

利用MIT Kerberos获取Kerberos票据

启动MIT Kerberos,点击“Home→Get Ticket”,输入MIT Kerberos环境变量配置中所使用的Kerberos用户对应的Principal及其密码。如下图:

输入密码,登录成功后。如下图:

也可以在windows命令行内执行

客户端使用klist -kte命令来查看keytab,然后使用kinit命令认证,如下图所示:

kinit -e

kinit hdpadmin@DLAKE.COM

cmd 命令行登录,会有该异常。后续优化

 

配置浏览器

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

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

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

设置:

network.negotiate-auth.trusted-uris 为集群hostname

hdp1.dlake,hdp2.dlake,hdp3.dlake

如下图:

搜索network.auth.use-sspi,将值改为false。(默认是true)

测试访问web ui

经过如上步骤,启动Firefox浏览器,便可以正常访问启用了Kerberos的HDP集群。

Hdfs 集群web ui:http://hdp1.dlake:50070

Yarn ResourcesManager web ui:http://hdp1.dlake:8088

Ranger web ui: http://hdp2.dlake:6080

 

Spark  History web ui: http://hdp1.dlake:18081/

MR JobHistory UI :http://hdp1.dlake:19888/

更多推荐

Kerberos+HDP客户端部署与配置

本文发布于:2023-06-14 00:25:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1417450.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:客户端   Kerberos   HDP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!