负载信息: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

最新文章

  1. js正则获取url所带参数值
  2. 【Alpha版本】冲刺阶段——Day 6
  3. 什么是Ajax? (转载于疯狂客的BLOG)
  4. Keil 中的预处理命令const
  5. Struts开发问题集锦
  6. MySQL用户和系统变量
  7. LeetCode 39. Combination Sum (组合的和)
  8. 用js来实现那些数据结构(栈01)
  9. R语言学习——向量
  10. FFT笔记
  11. Python · 进度条
  12. js scroll函数
  13. 转:ActiveMQ的作用总结(应用场景及优势)
  14. Get方法和post方法有何不同?
  15. cordova-ios 升级到4.4.0 无法真机跑iOS8 报错: dyld`dyld_fatal_error: -> 0x120085088 <+0>: brk #0x3
  16. jsoncpp 0.5 ARM移植
  17. meterpreter命令
  18. 「日常训练」Jongmah(Codeforces-1110D)
  19. Delphi.format填充0
  20. Eclipse/MyEclipse 选择Android NDK目录时提示“Not a valid NDK directory”

热门文章

  1. ubuntu 设置sudo 免密码
  2. python接口、抽象类与抽象方法
  3. 使用consul
  4. phpmyadmin导入大容量.sql文件
  5. PL/SQL中判断字段为空
  6. linux命令详解——ln
  7. SpringBootMVC02——SpringDataJpa与ThymeLeaf
  8. 利用cmd运行java程序
  9. [易学易懂系列|rustlang语言|零基础|快速入门|(7)|函数Functions与闭包Closure]
  10. 稀疏数组SparseArray