Home  >  Article  >  Database  >  HBase入门7 -安全&权限

HBase入门7 -安全&权限

WBOY
WBOYOriginal
2016-06-07 16:26:121130browse

我的废话: 大年三十夜,看春晚实在是太无聊了,整个《新闻联播》的电视剧版本,还不如上上网,看看资料,喝喝老酒,写点东西来的快活。 近2年来云计算的话题到目前为止风风火火从来没有平静过,一直是大家嘴边讨论的热门话题,人们期望运用云计算提供可靠、

我的废话:
    大年三十夜,看春晚实在是太无聊了,整个《新闻联播》的电视剧版本,还不如上上网,看看资料,喝喝老酒,写点东西来的快活。

   近2年来云计算的话题到目前为止风风火火从来没有平静过,一直是大家嘴边讨论的热门话题,人们期望运用云计算提供可靠、稳定、高速的计算,在云计算中Google是目前最大的云计算供应商,例如:Google GAE(Google App Engine)和Google的Docs在线文章服务,这些SaaS上线产品的数据存储(datastore)是由BigTable提供存储服务的,在次之前我提到过Yahoo贡献给Apache的那些山寨版本(Google与Yahoo的那些利器),其中Apache的HBase就是山寨了Google的BigTable。

   我们知道在云计算的技术话题中Apache的Hadoop项目是一块基石,利用Hadoop项目中的产品可以建立云计算平台和超大型的计算。不知道你是否有想过如果将HBase作为Google GAE上的数据存储(datastore),那么每个用户之间的数据访问权限怎么办?如果使用HBase提供对大客户提供“私有云”(private cloud)或者另一种可能一个公司内部的集群上运行HBase,公司的内部可能有几个部门,某几个部门之间的数据都是独立分离但又运行在一个平台上,那么你就会发现HBase不具备这样的功能,貌似目前HBase的最高版本0.90.0还没有这样的功能对用户的表、Row、Cell的访问权限。但是我们知道Google的GAE上每个用户访问的数据肯定是有权限划分的,不然我只要有权限登录GEA就能看见所有用户存放的数据了。这样的问题你有可能没有想过,但趋势公司的工程师们却为此想到了这点,并且把他们的设想和设计提交了HBase项目组,并且提出了以下主要的设计思想:
   1. Client access to HBase is authenticated
   2. User data is private unless access has been granted
   3. Access to data can be granted at a table or per column family basis.

对HBase中的表和数据划分权限等级和身份验证后,操作权限被分为3大类,每类中包含的操作权限如下所示:
http://zcitrq.bay.livefilestore.com/y1pSgmnGaWAHXNQGWDfrVUGEzTsiyMa2FSjvTUdsF4TDSzhrw7kNvmh8_v4yRiVql62OcVvIYE5JuUtZwWQ-fiPi58K6Htpp4mr/hbase-7-RW.png?psid=1

对于方案中涉及到存储的权限的是指整个表或表中的列族,也就是说只考虑在表这个级别的权限,表与表之间的所属关系是存放在 .META. 系统表中,以regioninfo:owner 的格式进行存放,例如:系统中table1这个表是有权限的,这个表权限的存根保存在3个地方 :
    * The row in .META. for the first region of table1                   
    * The node /hbase/acl/table1 of Zookeeper                         
    * The in-memory Permissions Mirror of every regionserver that serves table1      
如图所示,图中的箭头表示了数据流向的顺序:
HBase
查看大图请点击这里

方案中HBase在分布式、集群环境下,而权限一致性的问题交给了Zookeeper来处理,在多个regionservers中,每个服务器的HRegion中存放着多个表,并且实现了(implement)ZKPermissionWatcher接口的nodeCreated() 和 nodeChanged() 方法,这2个方法对Zookeeper 的节点进行监控, 节点的状态发生相应的变化时会ZooKeeper刷新镜像中的权限。
如图所示:
HBase
查看大图请点击这里

HBase的这一关于权限的功能正在设计和研讨当中,让我们继续对他保持关注,看看今后将会发生的变化能给我们带来什么样的效果,非常期待这个功能早日正式发布。

2011年的大年三十夜,祝大家新年快乐,往事如意。
 

相关文章:
Hbase入门6 -白话MySQL(RDBMS)与HBase之间
Lily-建立在HBase上的分布式搜索
MySQL向Hive/HBase的迁移工具
HBase入门5(集群) -压力分载与失效转发
Hive入门3–Hive与HBase的整合
HBase入门篇4
HBase入门篇3
HBase入门篇2-Java操作HBase例子
HBase入门篇
基于Hbase存储的分布式消息(IM)系统-JABase

–end–

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:mapreduce操作HBaseNext article:ChukWa入门1