目的

此文档描写叙述了怎样为Hadoop配置和管理 Service Level Authorization 。

预备条件

确保已经安装Hadoop,配置和设置都正确了。

很多其它细节,请看:* 首次使用者的单节点设置 * 大的、分布式集群的集群设置。

概览

Service Level Authorization 是一个必要的初始认证机制。其确保client连接到一个有必要的、预配置的、权限和认证服务的特定的Hadoop服务。比如,一个 MapReduce 集群能够使用这个机制同意一个配置了的用户/组列表提交作业。

$HADOOP_CONF_DIR/hadoop-policy.xml配置文件被用来定义多种Hadoop服务的訪问控制列表。

Service Level Authorization 比别的訪问控制检查如文件权限检查、作业队列上的訪问控制等做地更早。

配置

这部分描写叙述了怎样配置服务层认证,通过配置文件 $HADOOP_CONF_DIR/hadoop-policy.xml。

同意服务层认证

默认地,服务层认证对Hadoop是不能用的。

要启用它。在配置文件$HADOOP_CONF_DIR/core-site.xml中合理地设置属性
hadoop.security.authorization 为 true。

Hadoop 服务和配置属性

这部分描写叙述了多种Hadoop服务和他们的配置部分:

属性 服务
security.client.protocol.acl ACL for ClientProtocol, 用户代码通过分布式文件系统来使用
security.client.datanode.protocol.acl ACL for ClientDatanodeProtocol, the client-to-datanode protocol for block recovery.
security.datanode.protocol.acl ACL for DatanodeProtocol, 用于datanodes 与 namenode 通信
security.inter.datanode.protocol.acl ACL for InterDatanodeProtocol, inter-datanode 协议。用于更新生成的时间戳
security.namenode.protocol.acl ACL for NamenodeProtocol, 用于secondary namenode 与 namenode 通信的协议
security.inter.tracker.protocol.acl ACL for InterTrackerProtocol, 用于 tasktrackers 与 jobtracker 通信的协议
security.job.submission.protocol.acl ACL for JobSubmissionProtocol, 用于 job client与 jobtracker 通信,以提交作业,查询作业状态
security.task.umbilical.protocol.acl ACL for TaskUmbilicalProtocol,用于map 和 reduce 任务与父级 tasktracker通信
security.refresh.policy.protocol.acl ACL for RefreshAuthorizationPolicyProtocol, 用于 dfsadmin 和 mradmin 命令以实时刷新安全策略
security.ha.service.protocol.acl ACL for HAService protocol ,用于 HAAdmin 管理namenode的活着的和等待的状态

訪问控制列表

$HADOOP_CONF_DIR/hadoop-policy.xml 为每个Hadoop服务定义一个訪问控制列表。

每个訪问控制列表有一个简单的格式:

列表中的用户和组名字都以逗号分隔。两列以空格分隔。

演示样例: user1,user2
group1,group2
.

假设仅仅有一列组被提供,相等地一个逗号分隔的用户列跟在空格后面或并不意味着仅仅有给定的用户,则在一行的开头加入一个空格。(?)

一个特殊的 * 说明全部的用户都有权限訪问服务。

刷新 Service Level Authorization 配置

NameNode 和JobTracker的服务层认证配置能够在不重新启动不论什么一个Hadoop管理守护进程的情况下被改动。集群管理者能够在管理节点上和命令NameNode
和 JobTracker通过-refreshServiceAcl切换到dfsadmin和mradmin命令又一次加载他们的相关配置来改变$HADOOP_CONF_DIR/hadoop-policy.xml 。

刷新 NameNode上的服务层认证配置:

   $ bin/hadoop dfsadmin -refreshServiceAcl

刷新 JobTracker上的服务层认证配置:

   $ bin/hadoop mradmin -refreshServiceAcl

当然,也能够在 $HADOOP_CONF_DIR/hadoop-policy.xml 中用 security.refresh.policy.protocol.acl 属性限制对特定用户/组刷新服务层认证配置的訪问能力 。

演示样例

仅仅同意 alicebob 和在 mapreduce 组中的用户提交作业到
MapReduce 集群:

<property>
<name>security.job.submission.protocol.acl</name>
<value>alice,bob mapreduce</value>
</property>

仅仅同意 DataNodes 执行,当属于datanodes组的用户与NameNode通信:

<property>
<name>security.datanode.protocol.acl</name>
<value>datanodes</value>
</property>

同意不论什么用户作为 DFSClient与 HDFS 集群通话 :

<property>
<name>security.client.protocol.acl</name>
<value>*</value>
</property>

Hadoop-2.2.0中文文档—— Common - 服务层认证的更多相关文章

  1. Hadoop-2.2.0中文文档—— Common - Native Libraries Guide

    概览 这个新手教程描写叙述了native(本地?原生?)hadoop库,包括了一小部分关于native hadoop共享库的讨论. This guide describes the native ha ...

  2. Hadoop-2.2.0中文文档—— Common - CLI MiniCluster

    目的 使用 CLI MiniCluster, 用户能够简单地仅仅用一个命令就启动或关闭一个单一节点的Hadoop集群,不须要设置不论什么环境变量或管理配置文件. CLI MiniCluster 同一时 ...

  3. Hadoop-2.2.0中文文档—— Common - 超级用户模拟别的用户

    简单介绍 此文档描写叙述了一个超级用户怎样在安全的方式下以还有一用户的名义提交作业或訪问hdfs. Use Case 下一部分描写叙述的的代码演示样例对此用户用例是可用的. 一个username为's ...

  4. Apache Spark 2.2.0 中文文档

    Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN Geekhoo 关注 2017.09.20 13:55* 字数 2062 阅读 13评论 0喜欢 1 快速入门 使用 ...

  5. Apache Storm 1.1.0 中文文档 | ApacheCN

    前言 Apache Storm 是一个免费的,开源的,分布式的实时计算系统. 官方文档: http://storm.apache.org 中文文档: http://storm.apachecn.org ...

  6. Django2.0中文文档

    title: Django2.0中文文档 tags: Python,Django,入沐三分 grammar_cjkRuby: true --- Django2.0版本已经发布了,我们先来看一个图片 从 ...

  7. webpack4.0中文文档踩坑记录

    一直没有正儿八经去看过webpack4.0的文档,前段时间工作比较轻松,于是就有了此文...面都这样一个问题:请问在您的开发生涯中,令你最痛苦最无奈的是什么?小生的回答只有一个:“阅读那些令人发指的文 ...

  8. Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets Guide | ApacheCN

    Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession ...

  9. Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets

    Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession ...

随机推荐

  1. 关于Action中ValidateXXX方法校验一次失败后\导致以后一直返回input视图的情况

    问题:     使用struts2的validateXXX()进行验证,出错后自动返回之前的画面,但是Form中的数据全部丢失了,如何才能保存出错前的Form是要解决的问题. 调查:     调查后发 ...

  2. 第 8 章 适配器模式【Adapter Pattern】

    以下内容出自:<<24种设计模式介绍与6大设计原则>> 好,请安静,后排聊天的同学别吵醒前排睡觉的同学了,大家要相互理解嘛.今天讲适配器模式,这个模式也很简单,你笔记本上的那个 ...

  3. c/c++动态分配内存和malloc的使用

    c/c++动态分配内存  为什么需要动态分配内存 ---很好的解决的了传统数组的4个缺陷 动态内存分配举例 ---动态数组的构造 使用动态数组的优点:    1. 动态数组长度不需要事先给定: 2. ...

  4. C#之装箱与拆箱

    C#中值类型和和引用类型实质上是同源的,所以不但可以从值类型和引用类型之间进行转换,也可以在值类型和引用类型之间进行转换.,但是两者使用的内存类型不同,使他们的转换变得复杂. 1.装箱: 在C#中通常 ...

  5. JavaScript 作用域和变量提升

    本文是这篇文章的简单翻译. 如果按照下面的代码按照JavaScript程序的执行方式执行,alert函数会显示什么? var foo = 1; function bar() { if (!foo) { ...

  6. Android用户界面 UI组件--自动提示输入框 AutoCompleteTextView和MultiAutoCompleteTextView

    AutoCompleteTextView: 就是一个带自动提示的EditText,当输入字符时,会出现提示. android:completionThreshold  输入几个字符时提示 androi ...

  7. WP e-Commerce WordPress Payment Gateways Caller插件本地文件包含漏洞

    漏洞名称: WP e-Commerce WordPress Payment Gateways Caller插件本地文件包含漏洞 CNNVD编号: CNNVD-201310-642 发布时间: 2013 ...

  8. CH Round #45 能量释放

    能量释放 CH Round #45 - alan有一些陷阱 III 题目描述 alan得到一块由个能量晶体构成的矿石,对于矿石中的每一个能量晶体,如果用化学物质刺激某一个能量晶体,就能使它释放能量. ...

  9. 将eclipse新建项目的默认编码GBK改为UTF-8

    在eclipse下: 新建项目默认编码设置:Window->Preferences->General->Workspace->Text file encoding 将其改为UF ...

  10. MOSS母板页制作 学习笔记(一)

    转:http://xiachanghao1990.blog.163.com/blog/static/4869602420114235536573/ 母版页制作其实应该算是一个比较基础的工作,但是熟练制 ...