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
HBase调优案例(三)——Spark访问HBase慢的更多相关文章
- HBase调优案例(二)——高并发下bulkload出现超时
原因分析: 导入数据——>HBase,在客户端会发生非常多的rpc请求到regionServer,从而加大regionServer上的压力,如果regionServer比较忙碌(handle被占 ...
- HBase调优案例(一)——建表长时间等待最后失败
现象: 1.在HBase Shell里执行建表操作会等很久,最终失败: 2.通过代码侧进行建表同样不能成功. 原因排查: 1.查询HMaster日志,发现有接收到建表(create)的RPC请求: ...
- hbase性能调优案例
hbase性能调优案例 1.人员-角色 人员有多个角色 角色优先级 角色有多个人员 人员 删除添加角色 角色 可以添加删除人员 人员 角色 删除添加 设计思路 person表 ...
- hbase调优
@ 目录 一.phoenix调优 1.建立索引超时,查询超时 2.预分区 hbase shell预分区 phoenix预分区 3.在创建表的时候指定salting. 4.二级索引 建立行键与列值的映射 ...
- 必读,sql加索引调优案例和explain extended说明
做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 昨天分享了Mysql中的 explain 命令,使用 explain 来分析 select 语句的运行效果,如 :expl ...
- jvm系列(六):Java服务GC参数调优案例
本文介绍了一次生产环境的JVM GC相关参数的调优过程,通过参数的调整避免了GC卡顿对JAVA服务成功率的影响. 这段时间在整理jvm系列的文章,无意中发现本文,作者思路清晰通过步步分析最终解决问题. ...
- Spark-读写HBase,SparkStreaming操作,Spark的HBase相关操作
Spark-读写HBase,SparkStreaming操作,Spark的HBase相关操作 1.sparkstreaming实时写入Hbase(saveAsNewAPIHadoopDataset方法 ...
- JVM 内存分配、调优案例
内存分配 对象优先在Eden区分配 大多数情况下,对象在新生代Eden区中分配.当Eden区没有足够空间进行分配时,虚拟机将发起一次Minor GC. HotSpot虚拟机提供了-XX:+PrintG ...
- jvm调优思路及调优案例
jvm调优思路及调优案例 我们说jvm调优,其实就是不断测试调整jvm的运行参数,尽可能让对象都在新生代(Eden)里分配和回收,尽量别让太多对象频繁进入老年代,避免频繁对老年代进行垃圾回收,同时 ...
随机推荐
- python 9*9乘法口诀 猜数字游戏
- 两张超级大表join优化
一个简单的两表关联,SQL跑了差不多一天一夜,这两个表都非常巨大,每个表都有几十个G,数据量每个表有20多亿,表的字段也特别多. 相信大家也知道SQL慢在哪里了,单个进程的PGA 是绝对放不下几十个G ...
- Linux等操作系统杂谈
这部分基本上都是感性认识,介绍一下发展历史什么的.所以基本上都不是我原创的,转载来源都标记在文中了,如果侵权的话请联系删除 操作系统发展历史吃瓜 <Unix.Windows.Mac OS.Lin ...
- css sticky footer 布局
方法一:footer 上用负的 margin-top 在内容外面需要额外包一层元素(wrap)来让它产生对应的 padding-bottom.是为了防止负 margin 导致 footer 覆盖任何实 ...
- 现身说法:面对DDoS攻击时该如何防御?
上周,我们的网站遭到了一次DDoS攻击.虽然我对DDoS的防御还是比较了解,但是真正遇到时依然打了我个措手不及.DDoS防御是一件比较繁琐的事,面对各种不同类型的攻击,防御方式也不尽相同.对于攻击来的 ...
- php实用小技巧【持续更新】
这是本人开始做项目的时候遇到过的问题还有解决方法 1.eval函数 能把字符串转换成可执行的php代码,如果字符串不是可执行的php代码的话,需要在前面加上@,屏蔽notice 2.array_mer ...
- 去除多余的Merge branch提交
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/xuexingyang/article/d ...
- PAT Basic 1071 小赌怡情 (15 分)
常言道“小赌怡情”.这是一个很简单的小游戏:首先由计算机给出第一个整数:然后玩家下注赌第二个整数将会比第一个数大还是小:玩家下注 t 个筹码后,计算机给出第二个数.若玩家猜对了,则系统奖励玩家 t 个 ...
- Codeforces 964 等比数列逆元处理 贪心删偶数度节点
A B C 注意sum要在mod范围内 且不能用/a*b来推 #include<bits/stdc++.h> using namespace std; typedef long long ...
- 安装python3之后,yum用不了
使用centos 安装python3,并默认python3为python版本之后,用不了yum 原因是yum依赖于python2组件 解决方法: vi /usr/bin/yum 和 vi /usr/l ...