使用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. 史上最简单的在 Yii2.0 中将数据导出成 Excel

    在 vendor/yiisoft/yii2/helpers/ 创建一个 Excel.php <?php namespace yii\helpers;   class Excel{         ...

  2. php nusoap类的使用、用法、出错 及说明

    NuSOAP 是 PHP 环境下的 WEB 服务编程工具,用于创建或调用 WEB 服务它是一个开源软件,当前版本是 0.7.2 ,支 持 SOAP1.1 WSDL1.1 ,可以与其他支持 SOAP1. ...

  3. Qt 3D教程(二)初步显示3D的内容

    Qt3D教程(二)初步显示3D的内容 前一篇很easy,全然就没有牵涉到3D的内容,它仅仅是我们搭建3D应用的基本框架而已,而这一篇.我们将要利用它来初步地显示3D的内容了! 本次目的是将程序中间的内 ...

  4. hdu 1978 记忆化搜索

    注意: dp[i][j] 表示(i,j)这个点有多少种方式       mark[i][j]表示这个点是否走过  假设有直接返回dp[i][j]    dp的求法为全部梦走到点的dp的和 注意mark ...

  5. 在KVM中执行windows 10虚机(by quqi99)

    作者:张华  发表于:2015-12-22版权声明:能够随意转载.转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) KVM ...

  6. Android BlueDroid(二):BlueDroid蓝牙开启过程init

    关键词:bluedroid  initNative enableNative BTIF_TASK  BTU_TASKbt_hc_work_thread set_power  preload  GKI作 ...

  7. IIS预编译提升载入速度

    当我们把站点部署在IIS7或IIS6S的时候,每当IIS或是ApplicationPool重新启动后,第一次请求站点反应总是非常慢.原因大家都知道(不知道能够參考这个动画说明ASP.NET网页第一个R ...

  8. nodejs02---demo

    1.Hello World 打一个一个文本编辑器,在其中输入 console.log('Hello World'); 并保存为helloworld.js.打开dos窗口进入该文件的目录运行 node ...

  9. BZOJ4259: 残缺的字符串 & BZOJ4503: 两个串

    [传送门:BZOJ4259&BZOJ4503] 简要题意: 给出两个字符串,第一个串长度为m,第二个串长度为n,字符串中如果有*字符,则代表当前位置可以匹配任何字符 求出第一个字符串在第二个字 ...

  10. vs输出窗口,显示build的时间

    https://stackoverflow.com/questions/82128/displaying-build-times-in-visual-studio Tools... Options.. ...