之前的系列文章当中,已经为大家介绍了大数据存储当中的MongoDB、Redis等数据库,今天接着来讲Hbase。Hbase在大数据存储当中,与Hadoop生态紧密相关,也是Hadoop生态当中必学的重要组件。下面我们从基础入门开始,来讲讲Hbase。
支持大数据处理的第一代框架,以Hadoop为主流代表,而基于Hadoop,产生了比较完善的大数据技术生态,发展至今已有二十多个组件。这其中,Hbase主要在大数据存储环节,发挥着重要作用。
HBase,根据官方给出的定义,是面向列的非关系型分布式数据库,在Hadoop体系当中,基于分布式文件系统HDFS来工作。
Hbase的原型,来自于谷歌的BigTable,采用Java语言编程,实现了BigTable论文提到的一些压缩算法、内存操作和布隆过滤器等,这使得Hbase在海量数据存储、高性能读写场景当中,具备相当的优势。
Hbase集群架构,通常涉及到HBase Master、Region Server、Zookeeper、HDFS等几个配合。
一个Hbase集群,由一个Master和几个Region Server组成。其中,Master负责维护表结构信息;实际的数据存储在Region Server上,最终Region Server保存的表数据会直接存储在HDFS上。
HBase Master
HBase Master作为管理节点,通常在集群当中会设置有一个主Master,一个备Master,主Master和备Master的管理,由Zookeeper实现。
Master的职责,包括:
Region Server
Region Server,主要负责服务和管理Region。在分布式集群中,Region Server与DataNode通常按1:1比例安装,从而实现利用HDFS中的短路径读取(Short Circuit),来降低延时。
Region Server的职责,包括:
Zookeeper
在集群环境当中,Zookeeper总是扮演着“管家”的角色,而Hbase的Region Server非常依赖Zookeeper服务,ZooKeeper管理HBase所有Region Server的信息,包括具体的数据段存放在哪个Region Server上。
具体来说,ZooKeeper存储着hbase:meta信息。hbase:meta表记录着HBase中所有Region的相关信息。
HDFS
在Hadoop集群环境下,Hbase是运行于HDFS上的,所以对于HDFS的架构也建议要有比较清晰的了解和认知。尤其是在存储文件,处理故障转移和复制块的方面,HDFS当中的NameNode和DataNode,可以联动起来学习。
关于Java大数据,Hbase分布式存储入门,以上就为大家做了简单的介绍了。Hbase在大数据技术生态体系当中,重要性不言而喻,学习当中也应当给予相应的重视。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。