使用Hadoop ACL 控制訪问权限
使用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/testp17.项目组的表,须要其他组的特别用户有读到数据的权限.
hdfs dfs -setfacl -R -m user:mapengxu:r-x /user/hive/warehouse/cdntest.db/testp18.项目组的表,须要其他组的全部用户有读到数据的权限.
hdfs dfs -setfacl -R -m group:data_sum:r-x /user/hive/warehouse/cdntest.db/testp19.创建默认数据库,此数据库全部用户都有创建
表的权限。但仅仅保存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 控制訪问权限的更多相关文章
- Java 訪问权限控制:你真的了解 protected keyword吗?
摘要: 在一个类的内部,其成员(包含成员变量和成员方法)是否能被其它类所訪问,取决于该成员的修饰词:而一个类是否能被其它类所訪问,取决于该类的修饰词.Java的类成员訪问权限修饰词有四类:privat ...
- ProFTPD配置匿名登录与文件夹訪问权限控制
对ProFTPDserver配置匿名登录. 查看配置文件proftpd.conf.默认情况下配置文件里的.匿名登录配置User和Group均为ftp. 查看/etc/passwd确认用 ...
- Android 訪问权限清单
Android权限设置 概述 权限 说明 訪问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES 读取或写入登记check-in数据库属性表的权限 获取 ...
- apache主机(网站)配置,port监听,文件夹訪问权限及分布式权限
前言 一个网站的两个核心信息为: 主机名称(server名/网站名):ServerName server名 网站位置(网站文件夹路径):DocumentRoot "实际物理路径" ...
- [加入用户]解决useradd 用户后没有加入用户Home文件夹的情况,Linux改变文件或文件夹的訪问权限命令,linux改动用户password,usermod的ysuum安装包。飞
usermod的yum安装包: shadow-utils 将nobody用户加入到nogroup 组: usermod -g nogroup nobody cat /etc/passwd|grep n ...
- Objective-C 类属性和方法的訪问权限
OC中提供了4种訪问权限.@private, @public, @protected这三种和其它的C++, Java是一样的,@package这个訪问权限并非Java里的包訪问权限,OC中没有包的概念 ...
- win7 wifi 无Internet訪问权限或者有限的訪问权限
自己家的无线路由器,手机和笔记本都使用正常,可是一台新笔记本连上之后总是提示"有限的訪问权限",无法连公网. 网上的非常多办法都无论用,什么设置静态IP或者重新启动路由,基本都是瞎 ...
- gcc的bug? c++模板类中友元函数的訪问权限问题
原文地址:http://stackoverflow.com/q/23171337/3309790 在c++中,模板类中能够直接定义一个友元函数.该函数拥有訪问该模板类非public成员的权限. 比方: ...
- 用Shell脚本过滤Hadoop中不能訪问的节点
近期使用的一个集群hp1,由于维护集群的人不给力.节点总是过一段时间就掉一两个.今天发现重新启动hadoop时,HDFS已经进入保护模式了. 决定把slaves节点中的无法訪问的节点所有过滤掉.所以写 ...
随机推荐
- js禁止某个页面的回退
;!function(pkg, undefined){ var STATE = 'x-back'; var element; var onPopState = function(event){ eve ...
- pyftpdlib 搭建ftp环境
环境搭建: pythonwindows/linuxpip install pyftpdlib (安装失败请到这里下载:https://pypi.python.org/pypi/pyftpdlib/)一 ...
- NodeJS学习笔记 (6)网络服务-http-res(ok)
原文:https://github.com/chyingp/nodejs-learning-guide 自己敲代码: 概览 http模块四剑客之一的res,应该都不陌生了.一个web服务程序,接受到来 ...
- 洛谷1345 [Usaco5.4]奶牛的电信
题目描述 农夫约翰的奶牛们喜欢通过电邮保持联系,于是她们建立了一个奶牛电脑网络,以便互相交流.这些机器用如下的方式发送电邮:如果存在一个由c台电脑组成的序列a1,a2,...,a(c),且a1与a2相 ...
- Vue style里面使用@import引入外部css, 作用域是全局的解决方案
问题描述 使用@import引入外部css,作用域却是全局的 <template> </template> <script> export default { na ...
- window下搭建Python3.7+selenium3.1.1+pycharm环境
1.安装Python3.7 1.1 下载 Python并安装 Python3.5 (勾选上 Add Python3.7 to PATH) 点击 Install Now,安装完成后将python路径加 ...
- visual studio 2015下python编程的中文字符串问题
visual studio 2015强大的编程功能,编写起python来也是非常方便的,但其对中文字符的支持不是很好,经常发生莫名其妙的错误,最常见的错误是不报错,也不执行代码. 代码简单如下: x= ...
- 低价购买 洛谷1108 codevs4748 dp
首先,,我相信第一问是可以做出来的,,,做不出来自行面壁思过,,, 第二问,我们可以发现,如果f[i]为1时应该将其g[i]初始化为1,当初就是因为这个wa了一个世纪,之后先考虑不需要判重时的情况,如 ...
- STL_算法_Heap算法(堆排)(精)
C++ Primer 学习中. . . 简单记录下我的学习过程 (代码为主) /***************************************** STL-算法--Heap算法 堆排序 ...
- new 对象和Class的getInstance()方法的差别?
创建对象时的差别 1.new 对象包含2步, 1)载入类: 2)而且实例化. 2.Class的对象.getInstance(),只不过实例化. 也就是说.在运行 Class的对象.getInstanc ...