本书主要介绍了Spark运行原理及性能调优的相关实践, 从Spark框架内部及外部运行环境等不同角度分析Spark性能调优的过程。 第1章介绍了Linux系统中各种监控工具的使用,对CPU、内存、网络、I/O等方面进行介绍, 并提供了集群监控报警的解决方案。 第2章介绍了Java虚拟机(JVM)的基本知识、垃圾回收机制,以及对JVM运行状态的监控。 第3章和第4章介绍了Spark内核架构、任务运行的流程,对各个组件的实现进行了深入的剖析。尤其在Spark 内存管理、存储原理、Shuffle阶段,详细介绍了每个实现的细节,这些实现的细节为后期Spark性能调优提供了参数调节的理论依据。 第5章介绍了Spark性能调优的详细实践过程,首先介绍了SparkUI和Spark日志的使用,通过这两项可以迅速定位瓶颈问题;然后根据定位的问题,分别从程序调优、资源调优、Shuffle过程调优等不同角度介绍了调优的实践过程。 本书在理论部分提供了大量的概念原理图、运行流程图,在实践部分提供了大量的示例。让读者对性能的调节不 仅停留在参数调节的层面,而且能理解每个参数的修改对程序的内部运行产生 的影响。 本书既可以作为Spark开发者的参考用书,也可以作为高等院校计算机与软件相关专业的教材。