文档章节

hbase compaction 简单介绍

 漫漫路时间煮酒
发布于 2017/03/31 14:53
字数 412
阅读 46
收藏 0
              
   

   简单说一下hbase表的存储:一个表中的数据存储到regionserver上,regionserver会管理实际存储表的数据的region,每个region上每一个columnfamily会有一个Memstore。
   当memstore 达到了hbase.hregion.memstore.flush.size限制的值,memstore会将它的内容flush到StoreFile(HFile)。这样,一个Store中的StoreFile数量将会增长,Compaction 是一个操作,通过merge,将会减少一个Store中的StoreFile的数量,从而提高读操作的性能。Compaction是资源密集型操作,将提高或者影响性能,取决于很多因素。
Compaction有两种策略,minor compaction和major compaction。
minor compaction选取一些小的,临近的StoreFile,将它们重写为一个大的StoreFile。出于性能考虑的原因,minor compaction不会删除过期的或者标记要删除的数据。minor compaction的结果是在一个Store中导致更少,更大的SotreFile。

   major compaction的结果是每个Store 生成一个StoreFile。同时在生成的过程中会删除已经标记要删除的数据。major compaction理论上会提高性能。然而,在一个高负载的系统中,major compaction会导致一些不利的影响。默认配置下,major compaction将会每7天执行一次。因此,对于大多数的线上系统,管理员可以选择在系统空闲时手动执行major compaction,以降低对业务的影响。

  参数:
  
<property>
<name>hbase.hregion.memstore.flush.size</name>
<value>134217728</value> <!--128MB-->
</property>
<property>
<name>hbase.hregion.majorcompaction</name>
<value>604800000</value> <!-- 7days-->
</property>

  
    将hbase.hregion.majorcompaction参数的时间设置为0就可以禁用major compaction。改为在系统负载低的时候在hbase shell中执行 major_compaction '表名'。

   

© 著作权归作者所有

粉丝 0
博文 1
码字总数 412
作品 0
程序员
私信 提问
期待已久的Apache HBase2.0正式发布

激动 期待已久的HBase 2.0发布啦! 膜拜 拜读stack大神announce email原文,激动人心的时刻: 邮件简述了HBase 2.0.0 有新版Assignment Manager V2,offhead read/write, in-memory compactio...

tins.wzy
2018/05/02
0
0
HBase原理之HBase MetaStore&Compaction剖析

1.概述 客户端读写数据是先从HBase Clienr获取RegionServer的元数据信息,比如Region地址信息。在执行数据写操作时,HBase会先写MetaStore,为什么会写到MetaStore。本篇文章将为读者剖析HBa...

HBase技术社区
2018/09/23
0
0
HBase基本知识介绍及典型案例分析

本文来自于2018年10月20日由中国 HBase 技术社区在武汉举办的中国 HBase Meetup 第六次线下交流会。 HBase基本知识介绍及典型案例分析 PPT 下载:http://hbase.group/slides/162 本次分享的内...

hbase小能手
2018/11/19
0
0
HBase最佳实践之HBase查询优化

1.概述 HBase是一个实时的非关系型数据库,用来存储海量数据。但是,在实际使用场景中,在使用HBase API查询HBase中的数据时,有时会发现数据查询会很慢。本篇博客将从客户端优化和服务端优化...

刺猬一号
2018/08/06
74
0
HBaseCon亚洲2018峰会盛大开幕 阿里带你洞悉HBase大数据生态最新发展和行业实践

8月17日,HBaseCon亚洲2018峰会在北京歌华开元大酒店盛大开幕。作为Apache基金会旗下HBase社区的顶级用户峰会,HBaseCon大会是Apache HBase™官方从2012年开始发起和延续至今的技术会议,先后...

桐碧2018
2018/08/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud 笔记之Spring cloud config client

观察者模式它的数据的变化是被动的。 观察者模式在java中的实现: package com.hxq.springcloud.springcloudconfigclient;import org.springframework.context.ApplicationListener;i...

xiaoxiao_go
今天
4
0
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
今天
4
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
7
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
7
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部