Kerberos+HDP客户端部署与配置

背景说明:

在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操作系统来选择对应版本

image.png

  1. 客户端安装

image.png

image.png

选择Typical,点击下一步。

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

 

默认安装路径:

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

image.png

krb5.ini配置

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

image.png

从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.com:88

master_kdc = ipa1.dlake.com:88

admin_server = ipa1.dlake.com:749

kdc = ipa2.dlake.com:88

master_kdc = ipa2.dlake.com:88

admin_server = ipa2.dlake.com:749

default_domain = dlake.com

#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(管理员)账户。

image.png

配置MIT Kerberos环境变量

配置如下环境变量:

变量名:KRB5_CONFIG

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

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

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

image.png

变量名:KRB5CCNAME

变量值:D:\tmp\krb5cc_0

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

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

image.png

image.png

票据缓存文件获取实例:

[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.com ipa1

10.167.*.18 ipa2.dlake.com ipa2

10.167.*.8 hdp1.dlake.com hdp1

10.167.*.16 hdp2.dlake.com hdp2

10.167.*.15 hdp3.dlake.com 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及其密码。如下图:

image.png

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

image.png

也可以在windows命令行内执行

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

image.png

kinit -e

image.png

kinit hdpadmin@DLAKE.COM

image.png

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

 

配置浏览器

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

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

image.png

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

image.png

设置:

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

hdp1.dlake.com,hdp2.dlake.com,hdp3.dlake.com

如下图:

image.png

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

image.png

测试访问web ui

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

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

image.png

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

image.png

image.png

image.png

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

image.png

 

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

image.png

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

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值