文档章节

hadoop权限管理

闵开慧
 闵开慧
发布于 2014/09/16 15:46
字数 790
阅读 209
收藏 12

    如下图,hadoop访问控制分为两级,其中ServiceLevel Authorization为系统级,用于控制是否可以访问指定的服务,例如用户/组是否可以向集群提交Job,它是最基础的访问控制,优先于文件权限和 mapred队列权限验证。Access Control on Job Queues在job调度策略层之上,控制mapred队列的权限。DFSPermmision用户控制文件权限。目前版本中,连接到hadoop集群的 用户/组信息取决于客户端环境,即客户端主机中`whoami`和`bash –c groups`取到的用户名和组名,没有uid和gid,用户属组列表中只要有一个与集群配置的用户组相同即拥有该组权限。

1、 配置Service Level Authorization

修改core-site.xml

<property>  
 <name>hadoop.security.authorization</name>  
  <value>true</value>  </property>

hadoop.security.authorization=true则开启ServiceLevel Authorization,若为false则不经过任何验证,所有用户拥有全部权限。(修改此配置需要重启hadoop)

Service LevelAuthorization有9个可配置的属性,每个属性可指定拥有相应访问权限的用户或者用户组。这9个ACL属性如下(hadoop-policy.xml):

这9个属性的配置方法相同,具体如下:

每个可配置多个用户,用户之间用“,”分割;可配置多个用户组,分组之间用“,”分割,用户和分组之间用空格分割,如果只有分组,前面保留一个空格,如:

<property>  
  <name>security.job.submission.protocol.acl</name>  
  <value>alice,bobgroup1,group2</value>  </property>

 

默认情况下,这9个属性不对任何用户和分组开放。

该配置文件可使用以下命令动态加载:

(1)    更新namenode相关属性:bin/hadoop dfsadmin –refreshServiceAcl

(2)    更新jobtracker相关属性:bin/hadoopmradmin –refreshServiceAcl

 

2、 调度器配置

修改mapred-site.xml

<property>  
       <name>mapred.jobtracker.taskScheduler</name>  
       <value>org.apache.hadoop.mapred.CapacityTaskScheduler</value>  </property>

 

启用Access Contol onJob Queues需选择一个支持多队列管理的调度器,所以mapred.jobtracker.taskScheduler只能为CapacityTaskScheduler或FairScheduler。

在mapred-site.xml里配置队列,如:

<property>  
 <name>mapred.queue.names</name>  
 <value>default,hadoop,stat,query</value>  </property>

 

3、 Access Contol on JobQueues配置

Access Contol on Job Queues开关在mapred-site.xml,如下:

<property>  
 <name>mapred.acls.enabled</name>  
  <value>true</value>  </property>

mapred.acls.enabled=true开启,为false关闭。

         具体ACL属性在mapred-queue-acl.xml里,如:

 

<property>  
  <name>mapred.queue.stat.acl-submit-job</name>  
  <value>user1,user2 group1,group2</value>  </property>

表示user1,user2和group1,group2可以向stat queue提交job。

4、 DFS permission配置

修改hdfs-site.xml 

<property>  
  <name> dfspermission </name>  
 <value>true</value>  </property>

dfs.permission是否开启文件权限验证,true开启,false不进行读写权限验证。(注:dfs.permission开启与否 dfs permission信息都不会改变后丢失,chown、chgrp、chmod操作也始终会验证权限,dfspermission信息只在 namenode里,并不在danode里与blocks关联)

用chown、chgrp、chmod修改文件/目录的属主、属组和权限。

 

补:Job ACL

Job ACL默认值配置在mapred-site.xml里,如下:

<property>  
  <name>mapreduce.job.acl-view-job</name>  
  <value>user1</value>  </property>  <property>  
  <name>mapreduce.job.acl-modify-job</name>  
  <value>user1</value>  </property>

表示,默认情况下,user1用户拥有job的查看和修改权限。 

Job提交者可以指定mapreduce.job.acl-view-job和mapreduce.job.acl-modify-job值,提交时指定的值会覆盖默认值。

Job提交者、superuser、集群管理员(mapreduce.cluster.administrators)、JobQueue管理员始终拥有该权限。


转自:http://www.cnblogs.com/ggjucheng/archive/2013/01/31/2886981.html

本文转载自:

闵开慧
粉丝 334
博文 608
码字总数 269647
作品 0
青浦
高级程序员
私信 提问
Hadoop集群权限框架--Apache Ranger

Apache ranger是一个Hadoop集群权限框架,提供操作、监控、管理复杂的数据权限,它提供一个集中的管理机制,管理基于yarn的Hadoop生态圈的所有数据权限。 Apache Ranger可以对Hadoop生态的组...

匿名
2016/08/04
8.1K
4
Apache Ranger——Hadoop集群权限框架

Apache ranger是一个Hadoop集群权限框架,提供操作、监控、管理复杂的数据权限,它提供一个集中的管理机制,管理基于yarn的Hadoop生态圈的所有数据权限。 Apache Ranger可以对Hadoop生态的组...

oschina
2016/08/05
39
0
世界杯项目案例:HDFS分布式文件系统

项目案例:HDFS分布式文件系统 Hadoop的简介: Hadoop是apache软件基金会的开源分布式计算平台hadoop集群包括两种角色Mater和Slave。一个HDFS集群由一个运行于Master上的NameNode和若干个运行...

我不是九爷
2018/06/21
0
0
基于Sentry实现数据访问权限控制

Sentry初识 Sentry是适用于Hadoop生态环境、基于角色的授权管理系统,可以模块化集成到HDFS、Hive、Impala。它是一个策略引擎,运行定义授权规则,以校验用户对数据模型的访问请求。 授权粒度...

hblt-j
2018/12/12
0
0
hadoop 2.6 的权限管理

hadoop集群的权限可以通过2方面来进行: hadoop的ACL管理,这种方法比较适合较小的公司集群,配置也比较容易理解。如果安装了hue,则可以很方便的在web端进行集群文件和ACL的管理。 2. 另外可...

aibati2008
2016/04/01
436
0

没有更多内容

加载失败,请刷新页面

加载更多

Jenkins系列_插件安装及报错处理

进入Jenkins之后我们可以进行插件的安装,插件管理位于以下模块: 发现上面报了一堆错误,是因为插件的依赖没有安装好,那么这一节,就先把这些错误解决掉吧。解决完成后,也就基本会使用插件...

shzwork
今天
2
0
mysql mysql的所有查询语句和聚合函数(整理一下,忘记了可以随时看看)

查询所有字段 select * from 表名; 查询自定字段 select 字段名 from 表名; 查询指定数据 select * from 表名 where 条件; 带关键字IN的查询 select * from 表名 where 条件 [not] in(元素...

edison_kwok
昨天
9
0
多线程同时加载缓存实现

import com.google.common.cache.Cache;import com.google.common.cache.CacheBuilder;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorServi......

暗中观察
昨天
3
0
利用VisualVM 内存查看

准备工作,建几个测试类。等下就是要查看这几个类里面的属性 package visualvm;public class MultiObject { private String str; private int i; MultiObject(String str...

冷基
昨天
2
0
组装一台工作游戏两用机

一、配置清单如下: 分类 项目 价格(元) 主板 华硕(ASUS)TUF Z370-PLUS GAMING II 电竞特工 Z370二代 支持9代CPU 1049 CPU 英特尔(Intel) i7 8700K 酷睿六核 盒装CPU处理器 2640 风扇 九...

mbzhong
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部