Loading...
墨滴

IT明哥

2021/09/03  阅读:32  主题:默认主题

大数据问题排查系列-开启 kerberos 后无法访问 HIVESERVER2 等服务的 WEBUI

大数据问题排查系列-开启 kerberos 后无法访问 HIVESERVER2 等服务的 WEBUI

1 前言

大家好,我是明哥!

在博文“从技术视角看大数据行业的发展趋势”中,我们提到大数据的一个发展趋势是日益重视数据安全。在数据安全上,有四个方面的问题需要解决,即 3A + 1E:

  • 3A 是指 authentication, authorization 和 audit 即认证,授权和审计,分别解决了用户身份校验,用户权限校验,事后审计监督的问题;
  • 1E 指的是 encryption 即加密,包括对静态数据的加密和对传输过程中数据的加密。
  • 在3A+1E中,authentication 用户认证是基础。试想,如果用户身份验证没有做好,那么就可能冒用别人的身份,安全也就无从谈起了;
  • 在大数据领域,解决 authentication 用户认证问题,事实上的标准是 Kerberos, 常见的主流大数据框架,都支持 kerberos 认证方式。
  • 在实际工作中,几乎所有的金融行业和保险行业的大数据集群都启用了 kerberos, 这一趋势也在快速蔓延到电信行业,制造行业等各个行业;
  • 而同时由于一些小伙伴对 kerberos 不太熟悉,使用过程中由于姿势不对,也遇到了各种五花八门的问题。

有鉴于此,笔者在大数据问题排查系列中,准备专门开一个 kerberos问题排查子序列,专门讲述常见的 kerberos 问题与解决方法。

本文是该子序列第一篇,以下是正文。

2. 问题概述

大数据集群开启kerberos后,一些服务如 HDFS/YARN/HIVESERVER2 的 webui无法访问, 如下图所示,分别对应 chrome 和 firefox 访问 hdfs webui的报错:

chrome-error
chrome-error
firefox-error
firefox-error

3 问题原因

  • 通过查看 HDFS/YARN 服务的配置,可以发现开启了 "Enable Kerberos Authentication for HTTP Web-Consoles", 所以此时因为用户通过浏览器访问 WEBUI 时会因为没有认证无法访问;
  • 通过查看服务的后台日志,也能确认是用户认证的问题,以下是相关日志截图: server-error-log

4 问题解决

  • 解决方法1:可以关掉 hdfs/yarn/hive 的 “Enable Kerberos Authentication for HTTP Web-Consoles”,需要注意,hive 中该配置项需要在高级配置段中设置,如下图所示:
hdfs-config
hdfs-config
yarn-config
yarn-config
hive-config
hive-config
  • 解决方法2:如果安全管理很严格,不能采用上述方法1,此时可以安装个 kerberos windows 客户端,在使用浏览器访问 webui前,先在 kerberos windows 客户端通过用户名和密码的认证,然后就可以使用浏览器正常访问 webui了,需要注意 chrome浏览器的相关配置比较复杂,建议使用 firefox 浏览器。相关截图如如下图所示:
MIT Kerberos windows 客户端
MIT Kerberos windows 客户端
Initialize kerberos ticket
Initialize kerberos ticket
hdfs web ui under kerberos
hdfs web ui under kerberos
hiveserver2 web ui under kerberos
hiveserver2 web ui under kerberos

5 知识总结

  • 大数据领域,解决数据安全中用户认证 authentication 问题,事实上的标准是使用 kerberos;
  • 一旦大数据服务开启了 kerberos 安全认证,默认情况下其 webui 页面的访问,同样需要通过 kerberos 认证才能访问;
  • windows下kerberos 安全认证,可以使用 MIT Kerberos 的 windows 客户端,输入principal和对应的密码经过认证后,就可以使用浏览器正常访问开启了 kerberos 安全的大数据服务的 web ui了,且浏览器推荐使用 firefox;
  • 也可以关闭开启了 kerberos 安全认证的大数据服务的 webui 的 http 认证,即“ disable Kerberos Authentication for HTTP Web-Consoles”,此时浏览器访问其 webui 不需要经过 kerberos 安全认证;

!关注不迷路~ 各种福利、资源定期分享!欢迎小伙伴们扫码添加明哥微信,后台加群交流学习。

IT 明哥
IT 明哥

IT明哥

2021/09/03  阅读:32  主题:默认主题

作者介绍

IT明哥