转载自过往记忆(http://www.iteblog.com/)
本文链接地址: 《Hadoop web页面的授权设定》(http://www.iteblog.com/archives/988)

一、相关概念

  在默认情况下,Hadoop相关的WEB页面(JobTracker, NameNode, TaskTrackers and DataNodes)是不需要什么权限验证就可以直接进入的,谁都可以查看到当前集群上有哪些作业在运行,这对安全来说是很不合理的。我们应该限定用户来访问Hadoop相关的WEB页面,只有授权的用户才能看到自己授权的作业等信息,而不应该看到他不该看到的。其实Hadoop提供了简单的web页面的授权设定。
  和Hadoop的RPC授权一样,Hadoop相关的WEB页面也可以通过配置Kerberos利用HTTP SPNEGO协议来进行相应的授权控制,HTTP SPNEGO协议是支持Firefox和Internet Explorer浏览器。不过Hadoop WEB页面也是支持Hadoop的Pseudo/Simple授权控制,如果相应的授权开启了,用户需要在查看某个页面的时候,需要在URL的后面带上一个查询参数,如下:

http://localhost:50030/jobtracker.jsp?user.name=babu

  这样,jobtracker.jsp中将会获取到user.name参数的值,从而达到简单的授权控制。如果需要达到比较好的授权机制,用户可以自己写个Hadoop WEB页面授权的插件(比如我们可以实现自己的AuthenticatorHandler,可以参考Hadoop自带的Hadoop-auth.jar工具包)。 

二、如何配置

  上面说了Hadoop支持对相关的WEB页面进行简单的授权,那么如何来设定呢?下面就来进行说明。
  下面的所有配置都是在$HADOOP_HOME/etc/hadoop/core-site.xml里面进行设定,设定好后,需要将core-site.xml同步到集群中的所有机器。
  1、hadoop.http.filter.initializers的值设定为org.apache.hadoop.security.AuthenticationFilterInitializer,它的默认值如下:

<property>
<name>hadoop.http.filter.initializers</name>
<value>org.apache.hadoop.http.lib.StaticUserWebFilter</value>
<description>A comma separated list of class names. Each class in the list
must extend org.apache.hadoop.http.FilterInitializer. The corresponding
Filter will be initialized. Then, the Filter will be applied to all user
facing jsp and servlet web pages. The ordering of the list defines the
ordering of the filters.</description>
</property>

  2、设定hadoop.http.authentication.type的值,这个属性的值支持simple、kerberos、#AUTHENTICATION_HANDLER_CLASSNAME#;默认配置是simple。

<property>
<name>hadoop.http.authentication.type</name>
<value>simple</value>
<description>
Defines authentication used for Oozie HTTP endpoint.
Supported values are: simple|kerberos | #AUTHENTICATION_HANDLER_CLASSNAME#
</description>
</property>

  3、hadoop.http.authentication.token.validity这个值设定本次授权的token多长时间有效,单位是秒。默认配置是3600秒。

  4、hadoop.http.authentication.signature.secret.file设定signature secret file文件存放的绝对路径,这个文件需要同步到集群中所有的JobTracker, NameNode, DataNode 和TastTracker,它的默认值是${user.home}/hadoop-http-auth-signature-secret。需要保证signature secret file文件可以被启动JobTracker, NameNode, DataNode 和TastTracker进程的用户可读。
  5、hadoop.http.authentication.cookie.domain:以Cookie存储认证Token的域名,为了能够使得授权得以生效,需要配置一个正确的值,该属性是默认值为空。
  6、hadoop.http.authentication.simple.anonymous.allowed:在simple授权模式下,是否允许匿名用户请求。默认值是ture,也就是允许。
  7、hadoop.http.authentication.kerberos.principal:在kerberos授权模式下,是否允许HTTP终端用 Kerberos principal,这个属性的值必须是以’HTTP/’开头。默认的值是HTTP/_HOST@$LOCALHOST。
  8、hadoop.http.authentication.kerberos.keytab: keytab file文件的存放地址,默认值是$user.home/hadoop.keytab.i。

【转】Hadoop web页面的授权设定的更多相关文章

  1. [Hadoop异常处理] Namenode和Datanode都正常启动,但是web页面不显示

    异常 namenode和data都正常启动 但是web页面却不显示,都为零 解决办法一: 在hdfs-site.xml配置文件中,加入 <property> <name>dfs ...

  2. C#进行Visio二次开发之文件导出及另存Web页面

    在我前面很多关于Visio的开发过程中,介绍了各种Visio的C#开发应用场景,包括对Visio的文档.模具文档.形状.属性数据.各种事件等相关的基础处理,以及Visio本身的整体项目应用,虽然时间过 ...

  3. (基础篇)PHP与Web页面交互

    PHP与Web页面交互是实现PHP网站与用户交互的重要手段.在PHP中提供了两种与Web页面交互的方法,一种是通过Web表单提交数据,另一种是通过URL参数传递. 这里我们将详细讲解表单的相关知识,为 ...

  4. 微信平台接入Web页面功能接口(C#)

    微信平台接入web页面功能接口 今年因工作需要,通过微信平台接入公司的Wap页面,回忆下,记录内容,方面以后使用. 1.成为开发者后,你才可以使用公众平台的开发功能.需要填写URL和ToKen,接口配 ...

  5. php与web页面交互

    一.web表单 web表单的功能是让浏览者和网站有一个互动的平台.web表单主要用来在网页中发送数据到服务器. 1.1 表单的创建 使用form标记,并在其中插入相关的表单元素,即可创建一个表单. & ...

  6. 使用flask框架实现web页面与数据库数据互联+常见的几种状态码

    1.通过cygwin从pip install两个包:PyMySQL.SQLAlchemy: 2.在app.py中import我们要用到的库中的包:create_engine,text :from sq ...

  7. WEB页面常用基本控件测试用例

    一.树控件的测试外观操作 1)项目中的所有树是否风格一致 2)树结构的默认状态是怎样的.比如默认树是否是展开,是展开几级?  是否有默认的焦点? 默认值是什么?展开的节点图标和颜色? 2.执行操作 1 ...

  8. PHP与web 页面交互

    PHP与Web页面交互是实现PHP网站与用户交互的重要手段.在PHP中提供了两种与Web页面交互的方法,一种是通过Web表单提交数据,另一种是通过URL参数传递. 这里我们将详细讲解表单的相关知识,为 ...

  9. Hadoop Web项目--Mahout0.10 MR算法集锦

    1. 涉及技术及下载 项目开发使用到的软件有:Myeclipse2014,JDK1.8.Hadoop2.6,MySQL5.6.EasyUI1.3.6,jQuery2.0,Spring4.1.3,Hib ...

随机推荐

  1. ping: sendto: Network is unreachable

    在我的板子上ping路由上的IP的时候可以ping通,但是ping外网的IP的时候提示"ping: sendto: Network is unreachable" 后来使用rout ...

  2. 解析表达式到lucene.net的Query

    查询的时候有自己的查询格式,为了统一并且方便的搜索lucene.net 于是就写了个解析格式,大体上覆盖了几乎所有的lucene.net的query了.当然少了公共扩展库里包含的regexQuery, ...

  3. Reveal查看任意app的高级技巧(转)

    原文:http://zhuanlan.zhihu.com/iOSRe/19646016 Reveal查看任意app的高级技巧 hangcom · 12 小时前 Reveal是一个很强大的UI分析工具, ...

  4. smartjs - DataManager 场景示例分析 - 数据懒加载

    发一张policy的参数图设置图: 场景1 - 数据的懒加载/延迟加载 在很多时候,为了提高网页的加载速度,减少不必要的开销,会将页面的数据拆分成几个部分,首先加载呈现可视区域内的数据,然后剩下来的会 ...

  5. WCF配置工具及服务调试工具

      配置工具 C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\SvcConfigEditor.exe WCF调试客户端工具 C:\Program F ...

  6. extractCSS – 帮助你从 HTML 中快速分离出 CSS

    extractCSS 是一个免费的基于 Web 的应用程序,能够从 HTML 中提取风格相关的信息,包括 id.class 和内联样式,而且输出可以定制(缩进和括号的用法).该工具非常有用,当我们快速 ...

  7. Windows Azure Web Site (17) 设置Web App TimeOut时间

    <Windows Azure Platform 系列文章目录> 我们在开发Azure Web App的时候,如果页面加载时间过长,可能需要设置Time Out时间. 在这里笔者简单介绍一下 ...

  8. Fisrt Node-Webkit App

    1.什么是Node-Webkit 基于node.js和chromium的应用程序实时运行环境,可运行通过HTML(5).CSS(3).Javascript来编写的本地应用程序.node.js和webk ...

  9. 【C#】Color颜色对照表

    Color.AliceBlue 240,248,255 Color.LightSalmon 255,160,122 Color.AntiqueWhite 250,235,215 Color.Light ...

  10. asp.net mvc中包含webapi时,token失效产生302的解决方案

    public void ConfigureAuth(IAppBuilder app) { app.UseCookieAuthentication(new CookieAuthenticationOpt ...