15.hadoop-2.7.2官网文档翻译-Hadoop的http web认证

作者: 疯狂小兵 | 2016-07-18 | 阅读
「编辑」 「本文源码」

介绍

该文档描述了怎样配置需要用户认证的Hadoop HTTP的web控制台。

默认情况下,Hadoop HTTP的web控制台(JobTracker,NameNode,TaskTracker和DataNode)允许任何形式的认证访问.

类似于Hadoop的RPC,Hadoop的HTTP web控制台可以配置为要求使用HTTP SPENGO协议(支持IE和火狐浏览器)kerberos身份认证。

此外,HTTP web控制台支持Hadoop的伪/简单验证等效。如果该选项启用。用户必须使用user.name查询字符串参数的第一个浏览器交互指定的用户名。 比如:http://localhost:50030/jobtracker.jsp?user.name=babu

如果web控制台需要自定义的认证机制,需要实现一个插件来支持代替的认证机制(详细请参考Hadoop的权威指南里的AuthenticatorHandler)。

接下来描述怎样配置需要用户认证的web控制台。

## 配置

接下来的属性是在集群中所有节点的core-site.xml文件中的。

hadoop.http.filter.initializers:增加该属性org.apache.hadoop.security.AuthenticationFilterInitializer初始化类

hadoop.http.authentication.type:定义web控制台使用的认证,支持的值为simplekerberos#AUTHENTICATION_HANDLER_CLASSNAME#,默认值为simple

hadoop.http.authentication.token.validity:标识认证token失效期(单位为秒),默认是36000。

hadoop.http.authentication.signature.secret.file:认证token的的签名秘钥文件。集群的所有节点,JobTracker,NameNode,TaskTracker,DataNode,都应该有相同的秘钥。默认值为$user.home/hadoop-http-auth-signature-secret重要:该文件只有运行守护进行的Unix用户可读。

hadoop.http.authentication.cookie.domain:存储认证token的cookie所用的domain。为了集群所有节点的认证都能正常工作,domain必须设置正确。没有默认值,cookie没有domain,只有cookie的工作。

重要:当使用IP地址时,浏览器会忽略cookie的domain设置。该设置在集群所有节点上正确的工作,需要使用hostname.domain配置生成URL。

hadoop.http.authentication.simple.anonymous.allowed:指明使用simple认证时,异步请求被允许。默认值为true。

hadoop.http.authentication.kerberos.principal:在使用kerberos认证时,指明kerberos负责人用于Hadoop端。每个kerberos的http SPNEGO详述必须让负责人短名称是HTTP。默认值为HTTP/_HOST@$LOCALHOST,_HOST被HTTP服务器器的绑定地址代替。

hadoop.http.authentication.kerberos.keytab:Http终端使用的kerberos负责人证书的keytab文件的位置。

CORS

为了启用跨域支持,请设置下面的参数:

core-site.xml中添加org.apache.hadoop.security.HttpCrossOriginFilterInitializer到属性hadoop.http.filter.initializers。也需要在core-site.xml中设置如下属性:

属性 默认值 描述
hadoop.http.cross-origin.enabled false 开启所有web服务的跨域支持
hadoop.http.cross-origin.allowed-origins 逗号分隔的允许跨域的域列表,*允许和模式允许  
hadoop.http.cross-origin.allowed-methods GET,POST,HEAD 逗号分隔的允许跨域的方法列表
hadoop.http.cross-origin.allowed-headers X-Requested-With,Content-Type,Accept,Origin 逗号分隔的允许的header列表
hadoop.http.cross-origin.max-age 1800 缓存时间

版权声明:本文由 在 2016年07月18日发表。本文采用CC BY-NC-SA 4.0许可协议,非商业转载请注明出处,不得用于商业目的。
文章题目及链接:《15.hadoop-2.7.2官网文档翻译-Hadoop的http web认证》




  相关文章:

「游客及非Github用户留言」:

「Github登录用户留言」:

TOP