ホームページ  >  記事  >  データベース  >  "HBase_介绍和HBase云存储"分享总结

"HBase_介绍和HBase云存储"分享总结

WBOY
WBOYオリジナル
2016-06-07 16:31:051159ブラウズ

概述: 此分享包括:HBase_介绍和HBase云存储的汇总 ? 汇总点: HBASE基于HDFS存储;Hbase实时随机读写;Hbase是线性扩展,自动分表,支持MapReduceHbase Client使用HBase的RPC机制与Master和RegionServer进行通信,对于管理类操作,Client与Master进行RPC;

概述:

此分享包括:HBase_介绍和HBase云存储的汇总

?

汇总点:

HBASE基于HDFS存储;
Hbase实时随机读写;
Hbase是线性扩展,自动分表,支持MapReduce
Hbase Client使用HBase的RPC机制与Master和RegionServer进行通信,对于管理类操作,Client与Master进行RPC;对于数据读写类操作,Client与RegionServer进行RPC。
Client工作过程:从ZooKeeper上获取元数据和ROOT信息;在元数据中查找Region信息;与Region获取数据;缓存元数据相关信息;
Hbase的Master非单节点的,利用选举机制保证一个主Master;
Hbase的Master在功能上主要负责Table和Region的管理工作;
RegionServer主要负责响应用户I/O请求,向HDFS文件系统中读写数据同时向主服务器(Master Server)上报自己的状;
HRegion对应了Table中的一个Region,HRegion中由多个HStore组成。每个HStore对应了Table中的一个Column Family的存储;
HBase存储的核心Store由两部分组成:一部分是MemStore,另一部分是StoreFiles;
MemStore->StoreFile(Compact)->StoreFile->Region Split;
Master通过分发遗留HLog,然后RegionServer通过感知HLog并Replay HLog来保障数据不丢失;
Hbase的行的写操作是始终是“原子”的,只对一行上“锁”;
Hbase适用场景:储海量数据(TB级以上);对大数据集合进行高效的随机访问(主键查询);对于结构化和非结构化的数据存储同时不涉及jion操作;
Hbase的Cell为:Row,Column,Version和Value;
Hbase的操作:PUT,DELETE,GET和SCAN;
Region操作:Flush MemStore,Compact,Major Compact和split;
使用技巧:Column Family的数量最好为1;Key的设计避免单调递增,最小化;最小化Column;
MR操作时:Region数=Mapper数;Region数=Reducer数和Reducer写Hfile,再 BulkLoad;
Hbase开发调优:尽可能是使用Bulk Load;Put使用客户端Cache和Scan使用Cache/Batch;
HBASE部署中内存分配:RegionServer 12GB(MemStore  
  <p>?</p>
  <p>运维调优:</p>
  <pre class="brush:php;toolbar:false">Java GC:
JVM GC调整(ParNewGC+CMS)
Full GC-10s/GB
MemStore本地分配(2MB,减少碎片)
LZO压缩:
压缩单位为Block
提高性能
并发数调整:
hbase.regionserver.handler.count
Cache设置:
hfile.block.cache.size

?

更多详情参见附件



    本文附件下载:
  • hbase.rar (4.4 MB)


已有 0 人发表留言,猛击->> 这里

ITeye推荐
  • —软件人才免语言低担保 赴美带薪读研!—



"HBase_介绍和HBase云存储"分享总结

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。