对Spark的性能调试(tuning performance),有好些文章介绍得不错,推荐给大家:
- Tuning Spark From spark.apache.org
- How-to: Tune Your Apache Spark Jobs (Part 1) (Part 2) From Cloudera
- Tuning Java Garbage Collection for Apache Spark Applications From Databricks
- Tuning and Debugging in Apache Spark From Databricks
- Spark性能优化指南 (基础篇) (高级篇) 来自 美团技术博客
Spark版本更新很快,一些文章所述的一些问题或者解决办法可能不适合大家正使用的Spark版本,这个尤其要注意,特别是当为了性能调试一些参数时发现运行状况几乎没变化时,可以想想是不是参数没有生效。笔者曾经碰到的一个坑,调试spark.shuffle.memoryFraction和spark.storage.memoryFraction参数发现没效果,后来追查因为用的是Spark 1.6.1版本,默认使用的是统一内存管理模型(Spark 1.6及以后版本,Unified Memory Manager),而不是LegacyMode(Spark 1.5及以前版本,最早称呼为 Static Memory Manager),如果没有打开spark.memory.useLegacyMode的话,spark.shuffle.memoryFraction和spark.storage.memoryFraction自然无效。
原创文章,转载请注明:转载自vividfree的博客
本文链接地址:Spark学习路径:性能调试