阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用Hadoop ACL 控制访问权限

131次阅读
没有评论

共计 2712 个字符,预计需要花费 7 分钟才能阅读完成。

使用 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”/>

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 安装和配置 Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-01/94685.htm

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-06/118389.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计2712字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中