• HBase调优案例(三)——Spark访问HBase慢


    负载信息:RegionServer:3个

                      Region:5400多个

    现象:在使用Spark对HBase进行scan操作时发现有些task执行比较慢

    原因分析:查看Spark应用的executor日志,发现查询慢的都是027节点请求的。

         获取此节点的regionServer日志,发现scan的时候有responseTooSlow的打印。

            查询日志发现这段时间在regionServer上出现很多次GC pause的打印,说明当前内存不足。

    综上,当前regionServer内存的配置不足以应付高并发状态下的RPC请求。由于实际节点上的业务量/数据量/请求个数存在略微差异,使027节点处理请求时GC出现了延迟。当Spark多并发task执行的时候,GC的pause不能及时地处理查询请求,从而影响整个查询的时间。

    解决:

      调整HMaster的内存及Handler相关配置

      1.调整HMaster和RegionServer的GC_OPTS(垃圾回收参数)

      RegionServer调整为:

      Xms 6G——>16G

      -Xmx 6G——>16G

      NewSize 64M——>512M

      Max NewSize 128M——>512M

      Max DirectMemorySize 128M——>1024M

      HMaster调整为:

      Xms 1G——2G

      -Xmx 1G——>2G

      NewSize 64M——>256M

      Max NewSize 128M——>512M

      Max DirectMemorySize 128M——>512M

      2.调整RPC Handler(regionServer上处理RPC请求的线程实例数)

      hbase.regionserver.handler.count 100——>300

      hbase.regionserver.metahandler.count 10——>100

  • 相关阅读:
    linux___用户管理
    linux基础_vim命令
    linux
    linux_centos安装
    python基础1_哈希碰撞的认识
    oop对象,面向对象
    Oracle数据库—— 事务处理与并发控制
    Oracle数据库——索引、视图、序列和同义词的创建
    Oracle数据库——触发器的创建与应用
    Oracle数据库—— 存储过程与函数的创建
  • 原文地址:https://www.cnblogs.com/lingluo2017/p/8727942.html
Copyright © 2020-2023  润新知