阻塞急救:

  RegionServer内存设置太小:

    解决方案: 设置Region Server的内存要在conf/hbase-env.sh中添加export HBASE_REGIONSERVER_OPTS=" $HBASE_REGIONSERVER_OPTS  -Xms8g -Xmx8g"

  HFile达到允许的最大数量:

    解决方案: 调大hbase.hstore.blockingStoreFiles

  memstore大小达到阈值:

    解决方案:略微调大hbase.hregion.memstore.flush.size*hbase.hregion.memstore.block

  RegionServer上的Memstore总大小达到阈值:

    解决方案:适当调大hbase.regionserver.global.memstore.size 调小hfile.block.cache.size

      memstore 和 blockcache所占的内存总和《= 系统总内存的80%

朱丽叶暂停:

  集群的region server任意一个出现宕机

  发生原因:

    1)Zookeeper长时间未接收到Region server响应,标记该节点宕机

    2)HBase 是基于JVM,大概率遇上Full GC,GC时JVM会停止响应请求,长时间暂停造成zookeeper误认region server宕机

    3)region server恢复后发现自己被标记为宕机,自己只能自杀了

  解决方案:

    1)查看内存是否够用

      修改hbase-env.sh 中的HBASE_REGIONSERVER_OPTS选项,增加或调大-Xmx 和 -Xms值

      

    2)调整zookeeper超时时间

      在hbase-site.xml增加以下配置项zookeeper.session.timeout

        <property>

          <name>zookeeper.session.timeout</name>

          <vaule>18000</value>    设置成180秒

        </property>

        确定最终超时时间: 1)先查看conf/zoo.cfg中tickTime=2000

                  2)计算最小minSessionTimeout=2 * tickTime =4 秒

                  3)计算最大maxSessionTimeout=20 * tickTime =40 秒

                  4) 若zookeeper.session.timeout < minSessionTimeout, 那SessionTimeout 采用 minSessionTimeout

                   若zookeeper.session.timeout > maxSessionTimeout ,那SessionTimeout采用 maxSessionTimeout

                若果Session真的要调到180秒,需要调大tickTime

     3)优化GC回收策略

        JVM堆内存 < 4GB,那么使用参数 -XX:+UseParNewGC     -XX:+UseConcMarkSweepGC

        JVM堆内存介于4GB~32GB,使用参数 -XX:+UseParNewGC    -XX:+UseConcMarkSweepGC 或-XX:+UseG1GC

        JVM堆内存 > 32GB,使用-XX:+UseG1GC

       4)配置MSLAB

        hbase.hregion.memstore.mslab.enabled=true

        hbase.hregion.memstore.chunkpool.maxsize=非0值,取值范围0-1

        hbase.hregion.memstore.chunkpool.initialsize=非0值,取值范围0-1,代表预分配chunk占用chunk pool的比例

读性能调优

  性能调优方面分为2部分: 调整API用法,调整系统配置

      使用过滤器

      增加blockcache (若果缓存命中率较高,可以提高blockcache大小)

        

      调整HFile合并策略

HBase笔记5(诊断)的更多相关文章

  1. HBase笔记:对HBase原理的简单理解

    早些时候学习hadoop的技术,我一直对里面两项技术倍感困惑,一个是zookeeper,一个就是Hbase了.现在有机会专职做大数据相关的项目,终于看到了HBase实战的项目,也因此有机会搞懂Hbas ...

  2. Hbase笔记——RowKey设计

    一).什么情况下使用Hbase 1)传统数据库无法承载高速插入.大量读取. 2)Hbase适合海量,但同时也是简单的操作. 3)成熟的数据分析主题,查询模式确立不轻易改变. 二).现实场景 1.电商浏 ...

  3. HBase笔记--自定义filter

    自定义filter需要继承的类:FilterBase 类里面的方法调用顺序   方法名 作用 1 boolean filterRowKey(Cell cell) 根据row key过滤row.如果需要 ...

  4. HBase笔记--filter的使用

    HBASE过滤器介绍: 所有的过滤器都在服务端生效,叫做谓语下推(predicate push down),这样可以保证被过滤掉的数据不会被传送到客户端. 注意:        基于字符串的比较器,如 ...

  5. HBase笔记--编程实战

    HBase总结:http://blog.csdn.net/lifuxiangcaohui/article/details/39997205  (very good) Spark使用Java读取hbas ...

  6. HBase笔记--安装及启动过程中的问题

    1.使用hbase shell的时候运行命令执行失败 例如:在shell下执行 status,失败. 可能的原因:节点之间的时间差距过大 解决方法调整两个节点的时间,使二者一致,这里用了个比较笨的方法 ...

  7. OCP读书笔记(9) - 诊断数据库

    数据库恢复顾问 Data Recovery Advisor的命令行选项 1. 启动 RMAN 进程并连接到目标$ rman target=/ 2. 假设发生了某个错误,希望找出原因,使用 list f ...

  8. HBase笔记6 过滤器

    过滤器 过滤器是GET或者SCAN时过滤结果用的,相当于SQL的where语句 HBase中的过滤器创建后会被序列化,然后分发到各个region server中,region server会还原过滤器 ...

  9. HBase笔记4(调优)

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

随机推荐

  1. hive sql求多个字段的最小值和最大值的办法

    1. 准备数据表test2 create table test2( a int, b int, c int, d int, e int); 2. 准备2条数据 ,,,,); ,,,,); 查询显示如下 ...

  2. 搭建Pypi转发服务

    有时候有些正式环境的机器,不能访问外网,就只能在能访问外网的机器上搭建一个转发服务. 一.安装包 pip install flask_pypi_proxy flask_pypi_proxy 二.启动 ...

  3. error: cannot lock ref 'refs/remotes/origin/master': unable to resolve reference 'refs/remotes/origin/master': reference broken...

    之前在自己的项目中添加了一个分支,然后做了一些操作,比如同步本地的分支情况到远程仓库中,然后在远程仓库中完成分支合并,以及 Pull request 等等操作,后来,在本地仓库中进行 git fetc ...

  4. Zephyr学习(三)启动过程

    一.写在前面 最近对zephyr这个系统很感兴趣,因此业余有时间的时候都在研究它的源码,而光看代码不去动手这不是我的风格,于是乎在网上淘了一块STM32F103C8T6的核心板和一块NRF52832的 ...

  5. Relation Extraction中SVM分类样例unbalance data问题解决 -松弛变量与惩罚因子

    转载自:http://blog.csdn.net/yangliuy/article/details/8152390 1.问题描述 做关系抽取就是要从产品评论中抽取出描述产品特征项的target短语以及 ...

  6. 完美:利用旧版iCloud更改Apple ID地区

    朋友们,你们有没有尝试过从大陆地区以外的App Store上下载APP呢?或许听起来蛮有趣的,其实并不难,只需要更改Apple ID的地区就可以了,许多用户就是卡在下一步,需要输入付款信息,不过下面苹 ...

  7. Excel反序排列

    实际工作中有这样一个需求,将Excel列表中所有的条目进行反序排列,有人说这还不简单直接选中某一列按照这列排序(升序或降序)就可以了. 但问题是这里没有可以参考的列,进行排序. 比如: 想转换为: 那 ...

  8. 下载Crypto,CyCrypto,PyCryptodome 报错问题

    python下载Crypto,CyCrypto,PyCryptodome,如有site-packages中存在crypto.pycrypto,在pip之前,需要pip3 uninstall crypt ...

  9. gym101808 E

    提问:我是什么品种的傻逼? 哇看到积水兴高采烈啊.然后就走上了一条不归路. 为什么不归呢,因为我这个法子就是不对的,我总是在想很多很多点围成的一块区域,然后求这一块区域的面积. 然后尝试了各种扫描方法 ...

  10. input 设置 width:100% 和padding后宽度超出父节点

    input 设置 width:100% 和padding后宽度超出父节点 添加如下css即可: box-sizing: border-box; -webkit-box-sizing: border-b ...