本書主要介紹了Spark運行原理及性能調優(yōu)的相關實踐, 從Spark框架內部及外部運行環(huán)境等不同角度分析Spark性能調優(yōu)的過程。 第1章介紹了Linux系統(tǒng)中各種監(jiān)控工具的使用,對CPU、內存、網絡、I/O等方面進行介紹, 并提供了集群監(jiān)控報警的解決方案。 第2章介紹了Java虛擬機(JVM)的基本知識、垃圾回收機制,以及對JVM運行狀態(tài)的監(jiān)控。 第3章和第4章介紹了Spark內核架構、任務運行的流程,對各個組件的實現進行了深入的剖析。尤其在Spark 內存管理、存儲原理、Shuffle階段,詳細介紹了每個實現的細節(jié),這些實現的細節(jié)為后期Spark性能調優(yōu)提供了參數調節(jié)的理論依據。 第5章介紹了Spark性能調優(yōu)的詳細實踐過程,首先介紹了SparkUI和Spark日志的使用,通過這兩項可以迅速定位瓶頸問題;然后根據定位的問題,分別從程序調優(yōu)、資源調優(yōu)、Shuffle過程調優(yōu)等不同角度介紹了調優(yōu)的實踐過程。 本書在理論部分提供了大量的概念原理圖、運行流程圖,在實踐部分提供了大量的示例。讓讀者對性能的調節(jié)不 僅停留在參數調節(jié)的層面,而且能理解每個參數的修改對程序的內部運行產生 的影響。 本書既可以作為Spark開發(fā)者的參考用書,也可以作為高等院校計算機與軟件相關專業(yè)的教材。