as described in title,there some memory buffers in hbase called 'memstore' which will be stuffed when writing.this policy provides a asynchronization operations in writes(if ignore the wal ,of course) and high speed retrieving in reads.both the memstore and block cache consists of a sly trick of 'double buffer':
this is the hbase component structure below
of course,as some components like wal,memstore provides two styles to flush:manual or period checking
how to
memstore flushing is a bit complex,as it involves certain consistent operations of some other appropriate compoents ,like wal and mvcc.so it is very important to coplete this oper as soon as possible for avoiding blocking writings.
here i will only consider some steps about memstore but wal and mvcc,
1.take a snapshot per memstore
2.flush all underlying mutations (data,meta,index,trailer etc) to hfile
3.inline new flushed hfile and clear snapshot(ie. swith snapshot with hfile)
4.append a flag 'COMPLETE_CACHE_FLUSH' to wal that means if a later failure occurs ,the hlog will be replayed to here only
5.notify some threads who are waiting on this region to continue to mutation
'snapshot' here is used for supplying continuous/uninterrupt service for readings when 'flush'.
trigger conditions
no | case | meaning | |
1 |
memstore size > hbase.hregion.memstore.flush.size |
when total memstore size belong one region is bigger than flush.size | |
2 | over global memstore lower water | TODO | |
3 | too many hlogs | TODO | |
after a flush memstore ,i notified the mem usage is varied from below:
memstore:uncompressed-file:comprssed-file = 4:2:1
for my page table.
TODO so i think it is a bit unnormal for the ratio of first pair memstore:uncompressed
ref:
hbase-hfile format
hbase-hlog sync flow
hbase-mvcc principle
hbase guide
相关推荐
hbase-sdk是基于hbase-client和hbase-thrift的原生API封装的一款轻量级的HBase ORM框架。 针对HBase各版本API(1.x~2.x)间的差异,在其上剥离出了一层统一的抽象。并提供了以类SQL的方式来读写HBase表中的数据。对...
HBase 元数据修复工具包。 ①修改 jar 包中的application.properties,重点是 zookeeper.address、zookeeper.nodeParent、hdfs....③开始修复 `java -jar -Drepair.tableName=表名 hbase-meta-repair-hbase-2.0.2.jar`
赠送jar包:phoenix-core-4.7.0-HBase-1.1.jar; 赠送原API文档:phoenix-core-4.7.0-HBase-1.1-javadoc.jar; 赠送源代码:phoenix-core-4.7.0-HBase-1.1-sources.jar; 赠送Maven依赖信息文件:phoenix-core-4.7.0...
标题“hbase-1.2.1-bin.tar.gz.zip”表明这是HBase 1.2.1版本的二进制发行版,以tar.gz格式压缩,并且进一步用zip压缩。这种双重压缩方式可能用于减小文件大小,方便在网络上传输。用户需要先对zip文件进行解压,...
HBase(hbase-2.4.9-bin.tar.gz)是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System...
hbase-1.2.6.1-bin.tar.gz,hbase-1.2.6.1-bin.tar.gz,hbase-1.2.6.1-bin.tar.gz,hbase-1.2.6.1-bin.tar.gz,hbase-1.2.6.1-bin.tar.gz,hbase-1.2.6.1-bin.tar.gz,hbase-1.2.6.1-bin.tar.gz,hbase-1.2.6.1-bin.tar.gz
《Phoenix与HBase的深度解析:基于phoenix-hbase-2.4-5.1.2版本》 在大数据处理领域,Apache HBase和Phoenix是两个至关重要的组件。HBase作为一个分布式、列式存储的NoSQL数据库,为海量数据提供了高效、实时的访问...
phoenix-client-hbase-2.2-5.1.2.jar
hbase-client-2.1.0-cdh6.3.0.jar
"phoenix-5.0.0-HBase-2.0-client" 是一个针对Apache HBase数据库的Phoenix客户端库,主要用于通过SQL查询语句与HBase进行交互。这个版本的Phoenix客户端是为HBase 2.0版本设计和优化的,确保了与该版本HBase的兼容...
1. 下载与解压:首先从Apache官网下载hbase-2.4.17-bin压缩包,解压到指定目录。 2. 配置环境变量:在系统的环境变量设置中添加HBase的bin目录到PATH,确保可以从命令行启动HBase。 3. 修改配置文件:主要修改`...
1. **解压**:首先,我们需要解压`hbase-1.2.0-cdh5.14.2.tar.gz`到一个适当的目录,例如`/usr/local/hbase`。 2. **配置环境变量**:在`~/.bashrc`或`~/.bash_profile`中添加HBase的路径到`PATH`和`HBASE_HOME`。 3...
`hbase-2.4.11`源码包中包含了多个模块,如`hbase-client`、`hbase-server`、`hbase-common`等。`hbase-client`包含了与HBase交互的API,`hbase-server`则包含了服务器端组件,如RegionServer和Master,而`hbase-...
本文将深入探讨这两个技术及其结合体`phoenix-hbase-2.2-5.1.2-bin.tar.gz`的详细内容。 首先,HBase(Hadoop Database)是Apache软件基金会的一个开源项目,它构建于Hadoop之上,是一款面向列的分布式数据库。...
进入 `conf` 目录,复制 `hbase-site.xml.example` 文件为 `hbase-site.xml`,并编辑该文件,添加如下配置: ```xml <name>hbase.rootdir <value>hdfs://namenode_host:port/hbase <name>hbase.cluster....
被编译的hive-hbase-handler-1.2.1.jar,用于在Hive中创建关联HBase表的jar,解决创建Hive关联HBase时报FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoop....
《Phoenix与HBase的深度解析:基于phoenix-hbase-1.4-4.16.1-bin的探讨》 Phoenix是一种开源的SQL层,它为Apache HBase提供了高性能的关系型数据库查询能力。在大数据领域,HBase因其分布式、列式存储的特性,常被...
标题中的“hbase-2.4.11-bin.tar.gz”是指HBase的2.4.11稳定版本的二进制压缩包,用户可以通过下载这个文件来进行安装和部署。 HBase的核心设计理念是将数据按照行和列进行组织,这种模式使得数据查询和操作更加...
phoenix-4.14.1-HBase-1.2-client.jar
搭建pinpoint需要的hbase初始化脚本hbase-create.hbase