目的

此文档描写叙述了怎样为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. Java设计模式之——单例模式

    引自百度百科: 单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例类的特殊类. 通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系 ...

  2. bootstrap兼容IE8 解决办法

    bootstrap有使用CSS3,所以ie9以下浏览器不会很顺畅.IE9以下的兼容性不是很好.IE本身就是怪胎,就搞一些和外界标准不一致.搞得web开发考虑这考虑那的兼容性,蛋疼! 基本上css3的没 ...

  3. uva 1482 - Playing With Stones

    对于组合游戏的题: 首先把问题建模成NIM等经典的组合游戏模型: 然后打表找出,或者推出SG函数值: 最后再利用SG定理判断是否必胜必败状态: #include<cstdio> #defi ...

  4. PYTHON--CLASS

    class Robot: population = 0 def __init__(self, name): self.name = name print("(Initializing {0} ...

  5. CISCO的HTTP/HTTPS/SSH配置测试完成

    按实验一步一步,倒是很容易的,也理解罗~~ START-CONFIG粗配置文件如下: r1#show run Building configuration... Current configurati ...

  6. Android 基础知识点(持续更新)

    一.AndroidManifest 每一个安卓工程都有AndroidManifest.xml的配置文件,在所有项目中该名称都不会变.该文件是Android工程的一个全局配置文件,所有在Android中 ...

  7. 再探CRC

    之前写了CRC16的程序,虽说能用,却不知其所心然,现在要用CRC32,重温一遍,一下就通了.笔记如下 CRC我没记错的话是Cyclic Redundancy Code,Cyclic和Redundan ...

  8. Android Mediaplayer各种属性和方法简单介绍

    主要涉及类:MediaPlayer (1) 当一个MediaPlayer对象被创建或者调用reset()方法之后,它处于空闲状态,调用release()方法后处于结束状态 1,一个MediaPlaye ...

  9. java的版本区别、下载、配置

    参考:http://blog.csdn.net/liujun13579/article/details/7684604 java的版本区别 常用的 java 程序分为  Java SE.Java EE ...

  10. C#功能扩张方式

    有时候,为了完成一些window的一些操作,需要引入一些dll进行操作 1)  引入系统api进行操作,形如[DllImport("urlmon.dll", CharSet = C ...