大数据权限管理-研究过程及组件介绍(1)

目录

1、问题

2、研究过程及结果

3、组件介绍

hue介绍
Security介绍
ACLs介绍
ldap介绍


1、问题:

大数据平台中权限问题让不少架构师是头疼,大数据平台中【HIVE库】和【HDFS目录】让用户随意操作,以至于【HIVE库】和【HDFS目录】中敏感区和非敏感区得不到有效控制。
就算通过HDFS的ACL控制了,但通过程序任何用户依然操作【HIVE库】和【HDFS目录】中敏感区和非敏感区。

2、研究过程及结果:

这段时间研究了一下基于Cloudera’s Distribution Including Apache Hadoop(CDH)的大数据平台的权限管理,在本次研究过程中主要设计到了hue,Security,ACLs,LDAP四个组件。
通过权限管理,可以达到如下结果:
       1)大数据平台用户分配到不同到角色(组)。
       2)每个角色(组)拥有不同权限。
       3)角色(组)权限可以操作hive、impala和数据库以及hdfs路径。
       4)通过在程序中不同用户只能拥有所在角色(组)权限。
       5)管理用户,角色(组),权限需要分别在Linux、Hue、Ldap中设置,其中Ldap和hue我已经写了一个shell脚本。

3、组件介绍

hue介绍

       HUE=Hadoop User Experience
       Hue是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。
       通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job,执行Hive的SQL语句,浏览HBase数据库等等。

在这里插入图片描述       hue的使用说明
https://www.cloudera.com/documentation/enterprise/5-14-x/topics/hue.html

       hue的测试区,账号demo,密码demo
https://demo.gethue.com

Security介绍

       Sentry服务是一个RPC服务器,它将授权元数据存储在底层关系数据库中,并提供RPC接口来检索和操作特权。它支持使用Kerberos安全访问服务。服务提供来自数据库支持存储的授权元数据;它不处理实际的特权验证。Hive、Impala和Solr服务是该服务的客户端,当它们被配置为使用岗哨时,它们将执行岗哨特权。
https://www.cloudera.com/documentation/enterprise/5-14-x/topics/sentry.html

ACLs介绍

       Hadoop分布式文件系统(HDFS)实现了共享大部分POSIX模型的文件和目录的权限模型。每个文件和目录都与所有者和组相关联。对于作为所有者的用户,作为该组成员的其他用户以及所有其他用户,该文件或目录具有单独的权限。对于文件,需要r权限才能读取文件,并且需要w权限才能写入或附加到文件。对于目录,需要r权限列出目录的内容,创建或删除文件或目录需要w权限,访问目录子项需要x权限。

       与POSIX模型相比,文件没有setuid或setgid位,因为没有可执行文件的概念。对于目录,没有setuid或setgid位目录作为简化。可以在目录上设置粘滞位,防止除超级用户,目录所有者或文件所有者之外的任何人删除或移动目录中的文件。设置文件的粘滞位无效。总的来说,文件或目录的权限是其模式。通常,将使用用于表示和显示模式的Unix习惯,包括在本说明书中使用八进制数字。创建文件或目录时,其所有者是客户端进程的用户标识,其组是父目录的组(BSD规则)。

       HDFS还为POSIX ACL(访问控制列表)提供可选支持,以使用针对特定命名用户或命名组的更细粒度规则来增强文件权限。ACL将在本文档后面详细讨论。

       访问HDFS的每个客户端进程都有一个由用户名和组列表组成的由两部分组成的标识。每当HDFS必须对客户端进程访问的文件或目录foo执行权限检查时,

       如果用户名与foo的所有者匹配,则测试所有者权限;否则,如果foo组与组列表中的任何成员匹配,则测试组权限;否则,将测试foo的其他权限。如果权限检查失败,则客户端操作将失败。
http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsPermissionsGuide.html

ldap介绍

       LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。

北京小辉微信公众号

在这里插入图片描述

大数据资料分享请关注
<think>好的,我现在需要处理用户关于在头歌实验3-1中部署HBase的请求。首先,用户提到他们想了解如何在大数据平台上部署HBase的实验指导或教程,特别是头歌实验3-1的相关内容。我需要根据用户提供的引用信息,结合现有的知识,生成一个结构清晰的回答,并附带相关问题。 首先,我得确认用户提供的引用内容是否与HBase部署相关。引用[2]提到HDFS和HBase在教育数据存储中的作用,引用[4]则涉及Java大数据工具链的优化,这可能包括HBase。用户需要具体的部署步骤,所以需要整理出部署HBase的常规流程,并结合实验环境的特点进行调整。 接下来,我需要考虑如何结构化回答。用户希望步骤清晰,帮助逐步解决问题。通常,HBase的部署依赖于Hadoop和ZooKeeper,因此需要先确认这些前提条件是否满足。然后分步骤安装配置HBase,包括配置文件修改、启动服务、验证等。此外,实验环境中可能需要注意网络配置、权限设置等问题。 然后,我要检查是否有遗漏的步骤或常见的错误点。例如,HBase的配置文件如hbase-site.xml和regionservers的正确配置,环境变量设置,以及如何通过HBase Shell验证安装。同时,可能还需要提到分布式模式与单机模式的区别,特别是在实验环境中可能使用的模式。 还要考虑引用文献的应用。引用[3]提到个性化学习支持,可能实验指导需要包含详细的步骤和问题排查,以帮助学生自主完成实验。引用[4]提到开源社区的工具链完善,可能涉及到使用最新版本的HBase或相关工具。 用户可能遇到的问题包括端口冲突、依赖服务未启动、配置文件错误等,需要在注意事项中提及。此外,实验完成后,建议学生进行基本操作练习,如创建表、插入数据等,以巩固理解。 最后,生成的相关问题需要围绕HBase部署的扩展内容,例如与Hadoop集成、性能优化、数据备份等,以及在大数据实验室中的应用场景,结合引用内容中的教育数据存储和分析。 需要确保所有数学公式和代码块格式正确,使用中文回答,结构清晰,并自然地插入引用标记。同时,避免使用Markdown格式,但根据用户提供的系统级指令,代码块需要用反引号包裹,并标明语言。</think>以下是为头歌实验3-1设计的HBase部署教程,结合大数据实验室建设需求和教育数据存储技术[^2][^4]: ### 实验3-1 HBase部署教程 #### 一、实验环境准备 1. **基础环境** - 操作系统:Linux(建议CentOS 7+) - 依赖组件:已安装JDK 8+、Hadoop 3.x(需先启动HDFS)[^2] - 网络配置:确保节点间SSH免密登录 2. **组件下载** ```bash wget https://archive.apache.org/dist/hbase/2.4.13/hbase-2.4.13-bin.tar.gz tar -zxvf hbase-2.4.13-bin.tar.gz ``` #### 二、HBase配置 1. **核心配置文件** 修改`conf/hbase-site.xml`: ```xml <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://namenode:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>zk-node1,zk-node2,zk-node3</value> </property> </configuration> ``` 2. **节点配置** 编辑`conf/regionservers`添加RegionServer节点: ``` datanode1 datanode2 datanode3 ``` #### 三、服务启动与验证 1. **启动命令** ```bash # 启动HBase(需先启动Hadoop和ZooKeeper) bin/start-hbase.sh # 启动HBase Shell bin/hbase shell ``` 2. **基础操作验证** ```hbase create 'test_table', 'cf' put 'test_table', 'row1', 'cf:value', 'Hello HBase' scan 'test_table' ``` #### 四、实验注意事项 1. 端口冲突检查:HBase Master默认使用16010端口,RegionServer使用16201端口 2. 分布式模式下需确保ZooKeeper集群已正常运行 3. 通过`http://<master-node>:16010`可访问Web UI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辉哥大数据

你的鼓舞将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值