使用Hadoop ACL 控制訪问权限

一、HDFS訪问控制

hdfs-site.xml设置启动acl

<property> 

<name>dfs.permissions.enabled</name> 

<value>true</value> 

</property>

<property> 

<name>dfs.namenode.acls.enabled</name> 

<value>true</value> 

</property>

core-site.xml设置用户组默认权限.

<property>

<name>fs.permissions.umask-mode</name>

<value>002</value>

</property>

各需求和解决的方法例如以下:

  • 1.除了数据仓库负责人,普通用户不能创建数据库,也不能在默认库中创建表.

    /user/hive/warehouse的默认权限改为755,全部者是hadoop(或者数据仓库负责人),那么没有人能创建数据库,也不能在默认库中创建表.

  • 2.数据仓库负责人创建数据库之后,能够分配给项目组,该项目组能够在此数据库建立表.

    /user/hive/warehouse/数据库.db的全部者改为项目组.

  • 3.数据仓库负责人创建数据库之后,不把创建表的权限分给项目组,而为其创建表,仅仅同意项目组插入分区.

    数据仓库负责人继续保持/user/hive/warehouse/数据库.db的权限,项目组不能建立表,数据仓库负责人为项目组创建表之后,把表所在的文件夹分给项目组.

  • 4.某些表仅仅能本项目组读写.

    /user/hive/warehouse/数据库.db/表名所在的文件夹改为770 .

  • 5.某些表仅仅能本项目组的特殊用户读写.

    /user/hive/warehouse/数据库.db/表名所在的文件夹的全部者改为此用户,而且权限改为700 .

  • 6.项目组的表,须要其他组的特别用户插入数据.

    使用下面的命令能够mapngxu对dntest.db的表testp1有写权限 hdfs dfs -setfacl -R -m user:mapengxu:rwx /user/hive/warehouse/cdntest.db/testp1

  • 7.项目组的表,须要其他组的特别用户有读到数据的权限.

    hdfs dfs -setfacl -R -m user:mapengxu:r-x /user/hive/warehouse/cdntest.db/testp1

  • 8.项目组的表,须要其他组的全部用户有读到数据的权限.

    hdfs dfs -setfacl -R -m group:data_sum:r-x /user/hive/warehouse/cdntest.db/testp1

  • 9.创建默认数据库,此数据库全部用户都有创建
    表的权限。但仅仅保存30天.

    /user/hive/warehouse/数据库.db的权限改为777。而且设置定时任务扫描该文件夹及hive数据库。假设有创建时间超过30天的表。删除表及所在文件夹。

  • 10.该措施和基础SQL的訪问控制结合。

任务调度

按用户组管理队列,在入口机和jenkins权限统一,按所在组分配资源,方便按项目组统计各项目组每天,每周占用多少集群资源. mapred-site.xml配置例如以下:

<property> 

<name>mapred.acls.enabled</name> 

<value>true</value> 

</property> 

<property> 

<name>mapred.fairscheduler.poolnameproperty</name> 

<value>group.name</value> 

</property> 

fair-scheduler.xml配置例如以下:

<?xml
version="1.0"?>
 

<allocations>

<pool
name="cdn">
 

<maxResources>1000
vcores</maxResources>
 

<maxRunningJobs>10</maxRunningJobs> 

<weight>1.0</weight> 

<schedulingPolicy>fair</schedulingPolicy> 

</pool> 

<pool
name="data_sum">
 

<maxResources>
1000 vcores</maxResources>
 

<maxRunningJobs>10</maxRunningJobs> 

<weight>1.0</weight> 

<schedulingPolicy>fair</schedulingPolicy> 

</pool>

<userMaxAppsDefault>2</userMaxAppsDefault>

<queuePlacementPolicy> 

<rule
name="primaryGroup" create="false" />
 

<rule
name="secondaryGroupExistingQueue" create="false" />
 

<rule
name="user" create="false"/>
 

<rule
name="reject"/>
 

`

`

使用Hadoop ACL 控制訪问权限的更多相关文章

  1. Java 訪问权限控制:你真的了解 protected keyword吗?

    摘要: 在一个类的内部,其成员(包含成员变量和成员方法)是否能被其它类所訪问,取决于该成员的修饰词:而一个类是否能被其它类所訪问,取决于该类的修饰词.Java的类成员訪问权限修饰词有四类:privat ...

  2. ProFTPD配置匿名登录与文件夹訪问权限控制

    对ProFTPDserver配置匿名登录.         查看配置文件proftpd.conf.默认情况下配置文件里的.匿名登录配置User和Group均为ftp. 查看/etc/passwd确认用 ...

  3. Android 訪问权限清单

    Android权限设置 概述 权限 说明 訪问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES 读取或写入登记check-in数据库属性表的权限 获取 ...

  4. apache主机(网站)配置,port监听,文件夹訪问权限及分布式权限

    前言 一个网站的两个核心信息为: 主机名称(server名/网站名):ServerName server名 网站位置(网站文件夹路径):DocumentRoot "实际物理路径" ...

  5. [加入用户]解决useradd 用户后没有加入用户Home文件夹的情况,Linux改变文件或文件夹的訪问权限命令,linux改动用户password,usermod的ysuum安装包。飞

    usermod的yum安装包: shadow-utils 将nobody用户加入到nogroup 组: usermod -g nogroup nobody cat /etc/passwd|grep n ...

  6. Objective-C 类属性和方法的訪问权限

    OC中提供了4种訪问权限.@private, @public, @protected这三种和其它的C++, Java是一样的,@package这个訪问权限并非Java里的包訪问权限,OC中没有包的概念 ...

  7. win7 wifi 无Internet訪问权限或者有限的訪问权限

    自己家的无线路由器,手机和笔记本都使用正常,可是一台新笔记本连上之后总是提示"有限的訪问权限",无法连公网. 网上的非常多办法都无论用,什么设置静态IP或者重新启动路由,基本都是瞎 ...

  8. gcc的bug? c++模板类中友元函数的訪问权限问题

    原文地址:http://stackoverflow.com/q/23171337/3309790 在c++中,模板类中能够直接定义一个友元函数.该函数拥有訪问该模板类非public成员的权限. 比方: ...

  9. 用Shell脚本过滤Hadoop中不能訪问的节点

    近期使用的一个集群hp1,由于维护集群的人不给力.节点总是过一段时间就掉一两个.今天发现重新启动hadoop时,HDFS已经进入保护模式了. 决定把slaves节点中的无法訪问的节点所有过滤掉.所以写 ...

随机推荐

  1. 利用fabric批量安装kvm虚拟机及其xp

    公司一批PC机需要安装多个虚拟机跑任务,搞来搞去决定用centos7安装KVM来跑.于是先折腾了一下午,利用早先搭建好的cobbler给PC机安装OS.然后fabric批量部署. 环境:centos7 ...

  2. 使用systemctl自定义系统服务

    1.创建系统服务文件,格式如下: [Unit] Description=httpd After=network.target [Service] Type=forking ExecStart=/usr ...

  3. php7 memcache和memcached.so扩展

    php7安装memcache和memcached扩展 https://github.com/websupport-sk/pecl-memcache https://github.com/php-mem ...

  4. 在Windows Server 2008 R2中删除网桥

    How to remove a network bridge in Windows Server 2008 R2 症状: 删除网桥的时候,按理说应该在“网络连接”中选择要被删除的网桥,右键点击,然后选 ...

  5. Solr教程--官方自带数据的三个练习及讨论翻译版本

    Solr教程 在你开始之前 解压Solr 练习1:索引Techproducts示例数据 在SolrCloud模式下启动Solr 索引技术产品数据 基本搜索 练习1总结 练习2:修改架构和索引影片数据 ...

  6. C#获取本机内网外网IP

    using System.Net; # region 获取内.外网Ip /// <summary> /// 获取本地ip地址,优先取内网ip /// </summary> pu ...

  7. 【递推DP】POJ1163The Triangle

    题目链接:http://poj.org/problem?id=1163 事实上这个题目有非常多解法,可是我们能够看下这个用一位数组的高效动规解法,这个我上课时老师讲的,非常不错. 先保存最后一行4 5 ...

  8. android:为TextView加入样式——下划线,颜色,设置链接样式及前背景色

    实现下划线及颜色设置: public class AtActivity extends Activity { LinearLayout ll;     /** Called when the acti ...

  9. Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD

    Build.VERSION.SDK_INT是系统的版本,Build.VERSION_CODES.GINGERBREAD是版本号. 到VERSION.SDK_INT不禁诧异,这是何物?! 看API的定义 ...

  10. CUDA笔记(八)

    今天真正进入了攻坚期.不光是疲劳,主要是遇到的问题指数级上升,都是需要绕道的. 以visual profile来说,刚刚发现自己还没使用过. http://bbs.csdn.net/topics/39 ...