欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-04-21 09:32:02
...

概述: 此分享包括: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  
  

?

运维调优:

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云存储"分享总结