Presto调优总结
Presto进行大批量的数据计算。一开始是串行执行每个query,需要很长的时间才能计算完成。查看服务器占用以后,发现资源利用率很低,因此,决定使用并行计算,提高资源利用率。
Presto集群配置情况:
角色 | cpu | 内存 |
---|---|---|
coordinator | 4核 | 16G |
worker | 8核 | 32G |
worker | 8核 | 32G |
【Presto调优总结】配置如下:
jvm.config:
-Xmx 15GBconfig.propertities:
query.max-memory 2GB
query.max-memory-per-node 1GB
resources.reserved-system-memory 4GB
观察了worker的内存的占用情况,没有发现异常。
查阅coordinators所在机器的系统日志发现:
Out of memory: Kill process 324 (presto-server) score 373 or sacrifice child
[ 9138.843290] Killed process 324, UID 500, (presto-server) total-vm:13818884kB, anon-rss:6081652kB, file-rss:692kB
[10657.363339] barad_agent invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, oom_score_adj=0
[10657.366892] barad_agent cpuset=/ mems_allowed=0
[10657.366895] Pid: 1561, comm: barad_agent Not tainted 2.6.32-573.el6.x86_64 #1
显然,因为占用了过多的内存,系统的oom-killer直接将presto-server进程杀掉。经过咨询腾讯云发现,jvm.config的配置不仅在worker上生效也在coordinator上生效。因为Presto是master模式的,主节点上的coordinator要负责分析逻辑计划,安排执行物理计划,以及下发woker的请求,presto的master比core(worker)任务其实更重的。在并行数较多的时候,coordinator内存占用增长。
解决 升级coordinator配置到8核32G,问题解决。
推荐阅读
- 7.9号工作总结~司硕
- 最有效的时间管理工具(赢效率手册和总结笔记)
- 数据库总结语句
- 周总结|周总结 感悟
- 周总结43
- 参加【21天写作挑战赛】,第七期第14天,挑战感受小总结
- 第二阶段day1总结
- 新梦想91期特训班两天一晚学习感想及总结(学生(魏森林))
- 周总结(10.5-10.11)
- 2019.11.14号总结