HBase
文章平均质量分 73
Kuzury
这个作者很懒,什么都没留下…
展开
-
Hbase Split 解析
HBase Split是hbase根据一定的触发条件和一定的分裂策略将HBase的一个region进行分裂成两个子region并对父region进行清除处理的过程。Region是HBase中一个非常核心的组织单元,所有的region组成了整个HBase集群,如下面的HBase的体系结构所示:在HBase中,split其实是进行sharding的一种技术手段,通过HBase的split条件和split原创 2017-07-04 11:02:42 · 3805 阅读 · 0 评论 -
HBase架构解析一
HBase架构组成HBase采用Master/Slave架构搭建集群,它隶属于Hadoop生态系统,由一下类型节点组成:HMaster节点、HRegionServer节点、ZooKeeper集群,而在底层,它将数据存储于HDFS中,因而涉及到HDFS的NameNode、DataNode等,总体结构如下:其中HMaster节点用于:管理HRegionServer,实现其负载均衡。管理和分配HRegi转载 2017-07-03 19:13:01 · 563 阅读 · 0 评论 -
HBase 常用API
HBase数据库模型和JAVA API 之间的关系JAVA 类Hbase 数据模型HBaseAdmin数据库(database)HBaseConfigurationHTable表(table)HTableDescriptor列族(Column Family)Put行列操作GetScanner HBaseConfigurationorg.apache.hadoop.h原创 2017-03-16 18:22:25 · 633 阅读 · 0 评论 -
HBase参数优化
服务端参数优化:1 hbase.regionserver.handler.count:rpc请求的线程数量,默认值是10,生产环境建议使用100,也不是越大越好,特别是当请求内容很大的时候,比如scan/put几M的数据,会占用过多的内存,有可能导致频繁的GC,甚至出现内存溢出。2 hbase.regionserver.hlog.splitlog.writer.threads:默认值是3,建议设为1原创 2017-03-16 10:43:25 · 2275 阅读 · 0 评论 -
HBase compaction 分析
Hbase为了防止小文件(被刷到磁盘的menstore)过多,保证查询效率,HBase需要在必要的时候将这些小的store file合并成相对较大的store file,这个过程就称之为compaction。在HBase中,主要存在两种类型的compaction:minor compaction和major compaction。 major compaction 的功能是将所有的store原创 2017-07-03 16:42:53 · 2332 阅读 · 0 评论 -
HBase存储架构
从HBase的架构图上可以看出,HBase中的存储包括HMaster、HRegionServer、HRegion、Store、MemStore、StoreFile、HFile、HLog等,本篇文章统一介绍他们的作用即存储结构。以下是网络上流传的HBase存储架构图:HBase中的每张表都通过行键按照一定的范围被分割成多个子表(HRegion),默认一个HRegion超过256M就要被分割成两个,这转载 2017-07-03 16:50:39 · 5410 阅读 · 0 评论 -
HBase Flush 解析
在对hbase操作中,数据读取/写入都是发生在某个HRegion下某个Store里的files。那么究竟在写入hbase时,一个region下到底发生了什么呢? 常见的有以下三种情况: 1)、memstore flush to disk 2)、columnfamily’s files compaction 3)、region split 首先介绍一些概念:hbase一个表(table)会分割为n个原创 2017-07-03 19:04:08 · 10740 阅读 · 1 评论 -
HBase架构解析二
HBase读的实现通过前文的描述,我们知道在HBase写时,相同Cell(RowKey/ColumnFamily/Column相同)并不保证在一起,甚至删除一个Cell也只是写入一个新的Cell,它含有Delete标记,而不一定将一个Cell真正删除了,因而这就引起了一个问题,如何实现读的问题?要解决这个问题,我们先来分析一下相同的Cell可能存在的位置:首先对新写入的Cell,它会存在于MemSt转载 2017-07-03 19:15:40 · 266 阅读 · 0 评论 -
HBase WAL 解析
WAL(Write-Ahead-Log)是HBase的RegionServer在处理数据插入和删除的过程中用来记录操作内容的一种日志。大致过程如下图所示,首先客户端启动一个操作来修改数据,每一个修改都封装到KeyValue对象实例中,并通过RPC调用发送到含有匹配Region的HRegionServer。一旦KeyValue到达,它们就会被发送管理相应行的HRegion实例。数据被写到WAL,然后被原创 2017-07-04 15:05:39 · 10826 阅读 · 1 评论 -
提高HBase WAL写入性能
问题描述: HBase在集成其它组件,作为存储引擎完成组合服务时,往往是数据先写入HBase,然后对数据进行检索,之后数据通过网络传输给目标服务。HBase与组件之间的数据一致性使用WAL来保证。WAL是一种常用的保证数据可靠写入的一种技术,全称为Write-Ahead-Log,就是在向客户端返回写成功前,先将写操作在WAL中记录下来。这样即便系统在数据写入的过程中出现宕机等情况,也可以通原创 2017-09-22 10:51:39 · 3820 阅读 · 0 评论