博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HBase笔记5(诊断)
阅读量:7103 次
发布时间:2019-06-28

本文共 2003 字,大约阅读时间需要 6 分钟。

阻塞急救:

  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合并策略

 

转载于:https://www.cnblogs.com/zy1234567/p/10331956.html

你可能感兴趣的文章
《Java Concurrency in Practice》中三个VehicleTracker例子的分析
查看>>
spring-springmvc项目介绍
查看>>
为什么要从0开始计数
查看>>
ThinkJS 3.0 正式版发布!
查看>>
js简单前端模板引擎实现
查看>>
初识Java(译)
查看>>
MegaTags:网站META标签生成器
查看>>
PHP图片处理之二维码加文字
查看>>
树莓派新系统用户配置
查看>>
格式化创建文件系统、内核支持的文件系统、指定卷标、查看超级块信息、文件系统修复...
查看>>
Coding Standard
查看>>
es6学习笔记-变量析构_v1.0_byKL
查看>>
2017新兴技术企业大会:第二日回顾
查看>>
Coinbase是如何在其加密货币交易平台上应对扩展性挑战的
查看>>
JVM笔记 | Java垃圾回收(GC)
查看>>
(译)一个完整的Django入门指南---第7部分
查看>>
树莓派入门到放弃
查看>>
区块链技术公司 聊区块链与AI结合
查看>>
微服务场景下性能问题排查神器之xrebel
查看>>
微信小程序input组件type属性3个值的作用
查看>>