一:GC的调优

1.jvm的内存

  新生代:存活时间较短,一般存储刚生成的一些对象
  老年代:存活时间较长,主要存储在应用程序中生命周期较长的对象
  永久代:一般存储meta和class的信息

2.GC策略

  Parrallel New Collector,垃圾回收策略

  并行标记回收器(Concurrent Mark-Sweep Collector)

3.Parrallel New Collector

  速度快,但是数据量一大,容易造成GC停顿,一般应用在新生代

4.Concurrent Mark-Sweep Collector

速度相对来说慢一点,但是对于大数据量来说,避免GC停顿

5.设置(在hbase-env.sh中)

export   HBASE_REGIONSERVER_OPTS=”-Xmx8g -Xms8G        -Xmn128m -XX:UseParNewGC     -XX:UseConcMarkSweepGC -    XX:CMSInitiatingOccupancyFraction=70            -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps    -Xloggc:$HBASE_HOME/logs/gc-${hostname}-hbase.log”

二:flush

1.概述 

  写的过程:先往WAL写,往memstore写,memstore达到阈值,开始溢写到HDFS
  memstore配置:默认达到128M开始溢写,自动flush
    <property>
      <name>hbase.hregion.memstore.flush.size</name>
      <value>134217728</value>
    </property>

2.新建表s3

3.添加数据

  

4.在hdfs上的效果

  无

5.flush

  

6.在hdfs上出现

  

7.新添加数据

  

8.在hdfs上将会出现两个storefile

  

三:compact

1.概述

  溢写以后生成许多storefile
  minor compaction:最早生成的几个storefile会被合并,这一步不会对标记的删除和过期的数据进行处理,经常发生,数据量较小,占用资源不多
  major compaction:默认值是7天执行一次
  设置  

    <property>
      <name>hbase.hregion.majorcompaction</name>
      <value>604800000</value>
    </property>

2.危害
  -》消耗大量的资源,对hbase的性能产生影响
  -》会导致hbase的应用阻塞
  企业中一般关闭自动触发,使用手动触发 major_compact

3.操作

  在自动触发之前手动触发

  

4.在hdfs上的效果

  合并成一个文件

  

  

四:split

1.配置

  <property>
    <name>hbase.hregion.max.filesize</name>
    <value>10737418240</value>
  </property>

HBase的几种调优(GC策略,flush,compact,split)的更多相关文章

  1. 082 HBase的几种调优(GC策略,flush,compact,split)

    一:GC的调优 1.jvm的内存 新生代:存活时间较短,一般存储刚生成的一些对象 老年代:存活时间较长,主要存储在应用程序中生命周期较长的对象 永久代:一般存储meta和class的信息 2.GC策略 ...

  2. HBase 中读 HDFS 调优

    HDFS Read调优 在基于 HDFS 存储的 HBase 中,主要有两种调优方式: 绕过RPC的选项,称为short circuit reads 开启让HDFS推测性地从多个datanode读数据 ...

  3. JVM探究 面试题 JVM的位置 三种JVM:HotSpot 新生区 Young/ New 养老区 Old 永久区 Perm 堆内存调优GC的算法有哪些?标记清除法,标记压缩,复制算法,引用计数法

    JVM探究 面试题: 请你弹弹你对JVM的理解?Java8虚拟机和之前的变化更新? 什么是OOM?什么是栈溢出StackOverFlowError?怎么分析 JVM的常用调优参数有哪些? 内存快照如何 ...

  4. HBase笔记4(调优)

    Master/Region Server调优 JVM调优 默认的RegionServer内存是1G,而Memstore默认占40%,即400M,实在是太小了,可以通过HBASE_HEAPSIZE参数修 ...

  5. JVM调优-GC参数

    一.Throughput收集器(吞吐量)-XX:+UseParallelGC-XX:+UseParallelOldGC *参数调整:通过调整堆大小,减少GC停顿时间,增大吞吐量增强堆大小可以减少Ful ...

  6. HBase 管理,性能调优

    设置 Hadoop 来扩展磁盘 I/O 现代服务器通常有多个磁盘硬件来提供大存储能力.这些磁盘通常配置成 RAID 阵列,作为它们的出厂设置.这在很多情况下是有益的,但对 Hadoop 却不是. Ha ...

  7. JVM性能调优-GC内存模型及垃圾收集算法

    JVM内存管理模型: http://developer.51cto.com/art/201002/184385.htm 一 JVM内存模型 1.1 Java栈 Java栈是与每一个线程关联的,JVM在 ...

  8. JVM 调优 —— GC 长时间停顿问题及解决方法

    零. 简介 垃圾收集器长时间停顿,表现在 Web 页面上可能是页面响应码 500 之类的服务器错误问题,如果是个支付过程可能会导致支付失败,将造成公司的直接经济损失,程序员要尽量避免或者说减少此类情况 ...

  9. 5种调优Java NIO和NIO.2的方式

    Java NIO(New Input/Output)——新的输入/输出API包——是2002年引入到J2SE 1.4里的.Java NIO的目标是提高Java平台上的I/O密集型任务的性能.过了十年, ...

随机推荐

  1. 克隆或拷贝的VMware虚拟机IP问题解决

    克隆的虚拟机或是将虚拟机通过快照回到过去某个状态后,会上不了网. 如果不想看细节,可直接跳到小结部分. 问题描述: 运行service network restart时 Device eth0 doe ...

  2. JVM的类加载机制

    虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制. 类加载的过程: 包括加载.链接(含验证.准备 ...

  3. javascript优化--08模式(代码复用)01

    优先使用对象组合,而不是类继承: 类式继承:通过构造函数Child()来获取来自于另一个构造函数Parent()的属性: 默认模式:子类的原型指向父类的一个实例 function inherit(C, ...

  4. js html5推送 实例

    <!DOCTYPE html>   <html>   <head>   <title>Simple Webkit notification exampl ...

  5. linux rootfs制作

    http://blog.sina.com.cn/s/blog_6795385f01011ifg.html 作一个嵌入式Linux rootfs,并且实现 web 服务 1. 文件系统简介 •理论上说一 ...

  6. 查看GCC编译C的中间代码

    小测试,记录一下命令 XD 一.C程序源码(code.c): 二.中间代码 由 gcc -fdump-tree-all code.c 得到 查看 code.c.012t.cfg 三.汇编级代码 (64 ...

  7. hello world 驱动程序编写

    操作系统课程设计选题  驱动程序的编写和安装. 经过一天多的努力,终于把我的第一个驱动程序模块成功编写并实现插入内核和移除,在这里把过程记录下来方便以后查看,也给其他为之困扰的朋友一个建议. 环境: ...

  8. Hadoop配置文件解析

    Hadoop源码解析 2 --- Hadoop配置文件解析 1 Hadoop Configuration简介    Hadoop没有使用java.util.Properties管理配置文件, 也没有使 ...

  9. HTML5 javascript CSS3 jQuery Mobile一些好用的网站

    jQueryMobile:学习 http://www.runoob.com/jquerymobile/jquerymobile-tutorial.html 百度 CDN: http://cdn.cod ...

  10. Apache Spark源码走读之17 -- 如何进行代码跟读

    欢迎转载,转载请注明出处,徽沪一郎 概要 今天不谈Spark中什么复杂的技术实现,只稍为聊聊如何进行代码跟读.众所周知,Spark使用scala进行开发,由于scala有众多的语法糖,很多时候代码跟着 ...