目的

此文档描写叙述了怎样为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. Docker 安装jupyter notebook

    1. 利用image运行一个container sudo docker run -it --net=host tingting --net=host:让container可以上网,安装原来的sudo ...

  2. python的特殊方法:

    __str__和__repr__ 如果要把一个类的实例变成 str,就需要实现特殊方法__str__(): class Person(object): def __init__(self, name, ...

  3. NOI冲刺计划2

    吐槽:距离上一次写计划还没有一个月呢,咋又喊要重写捏?可以直接从上一次的计划粘上个一大半. bzoj刷题速度还是在计划之内的,这大半个月中,我bzoj刷进500道,知识方面主要是把莫比乌斯反演系统性的 ...

  4. Discuz! 7.2 SQL注入exp

    已经有人写出一些工具了,但是感觉不怎么好用,就自己写了个. 参数:1.可直接getshell2.爆管理账号密码3.爆表前缀如果表前缀不是默认的cdb_ 只需更改代码中的 $table即可,方便快捷. ...

  5. hdu 1269

    强连通分量题,用tarjin算法: 这是一道很简单的tarjin算法题,基本上就是套模板: 贴代码: #include<cstdio> #include<vector> #in ...

  6. Java+JQuery实现网页显示本地文件目录(含源码)

    原文地址:http://www.cnblogs.com/liaoyu/p/uudisk.html 源码地址:https://github.com/liaoyu/uudisk 前段时间为是练习JQuer ...

  7. dll的加载方式主要分为两大类,显式和隐式链接

    之前简单写过如何创建lib和dll文件及简单的使用(http://blog.csdn.net/betabin/article/details/7239200).现在先再深入点写写dll的加载方式. d ...

  8. Java函数参数传递方式详解

    在阅读本文之前,根据自己的经验和理解,大家可以先思考并选择一下Java函数的参数传递方式: A. 是按值传递的? B. 按引用传递的? C. 部分按值部分按引用? 此处暂不宣布正确答案,我们通过一个简 ...

  9. Default Web Site

    win7上设置默认website的物理路径

  10. 在windows下解压缩Linux内核源代码出现重复文件原因

    在windows下解压缩Linux内核源代码出现重复文件原因 2009年06月30日 13:35 来源:ChinaUnix博客 作者:embededgood 编辑:周荣茂     原因一.因为在Lin ...