大数据问题排查之开启 Kerberos 后无法访问 Hiveserver2 等服务的 Webui

大数据
在博文“从技术视角看大数据行业的发展趋势”中,我们提到大数据的一个发展趋势是日益重视数据安全。

[[421587]]

本文转载自微信公众号「明哥的IT随笔」,作者IT明哥。转载本文请联系明哥的IT随笔公众号。

 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

firefox-error

3 问题原因

通过查看 HDFS/YARN 服务的配置,可以发现开启了 "Enable Kerberos Authentication for HTTP Web-Consoles", 所以此时因为用户通过浏览器访问 WEBUI 时会因为没有认证无法访问;

通过查看服务的后台日志,也能确认是用户认证的问题,以下是相关日志截图:图片

4 问题解决

解决方法1:可以关掉 hdfs/yarn/hive 的 “Enable Kerberos Authentication for HTTP Web-Consoles”,需要注意,hive 中该配置项需要在高级配置段中设置,如下图所示:

hdfs-config

yarn-config

hive-config

解决方法2:如果安全管理很严格,不能采用上述方法1,此时可以安装个 kerberos windows 客户端,在使用浏览器访问 webui前,先在 kerberos windows 客户端通过用户名和密码的认证,然后就可以使用浏览器正常访问 webui了,需要注意 chrome浏览器的相关配置比较复杂,建议使用 firefox 浏览器。相关截图如如下图所示:

MIT Kerberos windows 客户端

Initialize kerberos ticket

hdfs 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随笔
相关推荐

2022-09-09 15:58:29

HiveServerHive 组件Java 开发

2021-09-06 07:28:31

大数据 kerberos 认证

2010-12-27 16:18:59

本地元数据库

2016-03-22 09:38:36

HTTP网络协议

2010-08-26 08:56:34

2010-08-25 14:21:50

2009-11-24 19:29:21

2011-02-25 09:17:08

CentOS

2009-01-16 09:06:00

2017-06-08 14:50:54

DNS缓存网页

2014-03-13 11:39:10

YouTube宕机

2010-01-07 13:09:19

2023-04-28 15:43:37

微软日历Outlook

2023-10-18 10:45:53

Android 14

2011-08-23 09:10:25

路由路由策略

2010-08-26 10:25:28

2009-03-30 15:11:10

2011-02-23 17:33:48

FileZilla

2010-09-09 11:09:20

2017-09-07 15:42:25

MySQL数据库访问
点赞
收藏

51CTO技术栈公众号