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

Kerberos+HDP客户端部署与配置_第1张图片

  1. 客户端安装

Kerberos+HDP客户端部署与配置_第2张图片

Kerberos+HDP客户端部署与配置_第3张图片

选择Typical,点击下一步。

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

 

默认安装路径:

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

Kerberos+HDP客户端部署与配置_第4张图片

krb5.ini配置

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

Kerberos+HDP客户端部署与配置_第5张图片

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

Kerberos+HDP客户端部署与配置_第6张图片

配置MIT Kerberos环境变量

配置如下环境变量:

变量名:KRB5_CONFIG

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

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

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

Kerberos+HDP客户端部署与配置_第7张图片

变量名:KRB5CCNAME

变量值:D:\tmp\krb5cc_0

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

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

Kerberos+HDP客户端部署与配置_第8张图片

Kerberos+HDP客户端部署与配置_第9张图片

票据缓存文件获取实例:

[root@hdp2 ~]#

kinit -kt /etc/security/keytabs/hdfs.headless.keytab [email protected]

[root@hdp2 ~]# klist

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

Default principal: [email protected]

 

配置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及其密码。如下图:

Kerberos+HDP客户端部署与配置_第10张图片

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

Kerberos+HDP客户端部署与配置_第11张图片

也可以在windows命令行内执行

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

Kerberos+HDP客户端部署与配置_第12张图片

kinit -e

Kerberos+HDP客户端部署与配置_第13张图片

kinit [email protected]

Kerberos+HDP客户端部署与配置_第14张图片

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

 

配置浏览器

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

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

Kerberos+HDP客户端部署与配置_第15张图片

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

Kerberos+HDP客户端部署与配置_第16张图片

设置:

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

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

如下图:

Kerberos+HDP客户端部署与配置_第17张图片

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

Kerberos+HDP客户端部署与配置_第18张图片

测试访问web ui

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

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

Kerberos+HDP客户端部署与配置_第19张图片

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

Kerberos+HDP客户端部署与配置_第20张图片

Kerberos+HDP客户端部署与配置_第21张图片

Kerberos+HDP客户端部署与配置_第22张图片

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

Kerberos+HDP客户端部署与配置_第23张图片

 

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

Kerberos+HDP客户端部署与配置_第24张图片

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

Kerberos+HDP客户端部署与配置_第25张图片

你可能感兴趣的:(Hadoop)