在大数据平台框架当中,Hadoop凭借相对全面且成熟的技术体系,成为企业的首选。大数据存储是大数据处理的底层支持,只有实现稳定灵活的存储,下一步才能进行高效的数据处理。而企业在搭建大数据存储系统时,基于Hadoop主要通过HBASE来实现。
关于HBASE大数据存储系统,首先我们要理解三个基本概念:Zookeeper、HMaster、Region Server。
Zookeeper可以看做是HBASE的协调工具,保证任何时候,集群中只有一个HMaster;实时监控HRegion Server的上线和下线信息,并实时通知给HMaster;存储HBase的schema和table元数据等。
HMaster负责Table和Region的管理工作,并且在Zookeeper的监管下,只允许一个Master运行。管理HRegionServer的负载均衡,调整Region分布;Region Split后,负责新Region的分布;在HRegionServer停机后,负责失效HRegionServer上Region迁移工作。
Region Server,主要负责监控维护Region,处理对这些Region的响应、请求;负责切分在运行过程中变得过大的Region。
这三者在HBASE的运行当中,共同配合完成HBASE发生的需求任务,那么具体HBASE怎么实现数据写入和读取的呢?
HBase写数据流程:
Client先访问zookeeper,从meta表获取相应region信息,然后找到meta表的数据;根据namespace、表名和rowkey根据meta表的数据找到写入数据对应的region信息;找到对应的regionserver;把数据分别写到HLog和MemStore上一份。
MemStore达到一个阈值后则把数据刷成一个StoreFile文件。(若MemStore中的数据有丢失,则可以总HLog上恢复)
Hbase读数据流程:
Client先访问zookeeper,从meta表读取region的位置,然后读取meta表中的数据。meta中又存储了用户表的region信息;
根据namespace、表名和rowkey在meta表中找到对应的region信息;
找到这个region对应的regionserver;
查找对应的region;
先从MemStore找数据,如果没有,再到StoreFile上读(为了读取的效率)。
关于大数据存储系统,HBASE作为目前使用较多的场景之一,其实是具有很大的参考价值的。尤其是基于Hadoop框架,HBASE的工作性能已经得到认可,在实际的大数据存储任务当中,表现良好。成都加米谷大数据,大数据技术分享,专业
大数据培训班,更多详情可联系客服了解!