注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫(kù)Spark性能調(diào)優(yōu)與原理分析

Spark性能調(diào)優(yōu)與原理分析

Spark性能調(diào)優(yōu)與原理分析

定 價(jià):¥69.90

作 者: 呂云翔,郭宇光 著
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302555094 出版時(shí)間: 2020-09-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 304 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

  1986-1992: 北方交通大學(xué)講師; 1992-1994: 比利時(shí)VUB大學(xué)應(yīng)用信息技術(shù)碩士; 1994-1996: 比利時(shí)VUB大學(xué)MBA;1996-2003: IT公司項(xiàng)目經(jīng)理2003-至今: 北航軟件學(xué)院副教授。已出版二十幾本教材(其中“計(jì)算機(jī)導(dǎo)論實(shí)踐教程”一書獲北航2010年教學(xué)成果三等獎(jiǎng);“大學(xué)計(jì)算機(jī)英語(yǔ)教程”獲北航2012年教學(xué)成果二等獎(jiǎng)。 主講課程: 計(jì)算機(jī)導(dǎo)論、軟件工程、職業(yè)生涯規(guī)劃等。

圖書目錄

第1章常用工具簡(jiǎn)介
1.1Linux中的性能監(jiān)控命令
1.1.1程序準(zhǔn)備
1.1.2top命令
1.1.3htop命令
1.1.4vmstat命令
1.1.5iostat命令
1.1.6iftop命令
1.2Prometheus
1.2.1Prometheus簡(jiǎn)介
1.2.2Prometheus的組成
1.2.3Prometheus的安裝及配置
1.2.4監(jiān)測(cè)服務(wù)器
1.3Grafana
1.3.1Grafana簡(jiǎn)介
1.3.2Grafana的安裝
1.3.3Grafana服務(wù)器監(jiān)控
1.4Alluxio的使用
1.4.1Alluxio簡(jiǎn)介
1.4.2Alluxio的安裝
1.4.3Alluxio與Spark集成
1.5本章小結(jié)
第2章Java虛擬機(jī)簡(jiǎn)介
2.1Java虛擬機(jī)基本結(jié)構(gòu)
2.1.1PC寄存器
2.1.2Java堆
2.1.3Java虛擬機(jī)棧
2.1.4方法區(qū)
2.1.5本地方法棧
2.2Java常用選項(xiàng)
2.2.1Java選項(xiàng)分類
2.2.2標(biāo)準(zhǔn)選項(xiàng)
2.2.3非標(biāo)準(zhǔn)選項(xiàng)
2.2.4高級(jí)運(yùn)行時(shí)選項(xiàng)
2.2.5高級(jí)垃圾回收選項(xiàng)
2.3垃圾回收機(jī)制
2.3.1什么是垃圾對(duì)象
2.3.2垃圾回收算法
2.3.3垃圾收集器
2.4JDK自帶命令行工具
2.4.1jps命令
2.4.2jstat命令
2.4.3jinfo命令
2.4.4jmap命令
2.4.5jhat命令
2.4.6jstack命令
2.4.7jcmd 命令
2.4.8jstatd命令
2.5JVM監(jiān)控工具
2.5.1JConsole
2.5.2Visual VM
2.5.3Prometheus監(jiān)控JVM
第3章Spark內(nèi)核架構(gòu)
3.1Spark編程模型
3.1.1RDD概述
3.1.2RDD的基本屬性
3.1.3RDD的緩存
3.1.4RDD容錯(cuò)機(jī)制
3.1.5Spark RDD操作
3.1.6源碼分析
3.2Spark組件簡(jiǎn)介
3.2.1術(shù)語(yǔ)介紹
3.2.2Spark RPC原理
3.2.3Driver簡(jiǎn)介
3.2.4Executor簡(jiǎn)介
3.2.5Spark運(yùn)行模式
3.2.6存儲(chǔ)簡(jiǎn)介
3.2.7源碼分析
3.3Spark作業(yè)執(zhí)行原理
3.3.1整體流程
3.3.2Job提交
3.3.3Stage劃分
3.3.4Task劃分
3.3.5Task提交
3.3.6Task執(zhí)行
3.3.7Task結(jié)果處理
3.3.8源碼分析
3.4Spark內(nèi)存管理
3.4.1內(nèi)存使用概述
3.4.2內(nèi)存池的劃分
3.4.3內(nèi)存管理
3.4.4源碼分析
3.5Spark存儲(chǔ)原理
3.5.1存儲(chǔ)模塊架構(gòu)
3.5.2磁盤存儲(chǔ)實(shí)現(xiàn)
3.5.3內(nèi)存存儲(chǔ)實(shí)現(xiàn)
3.5.4塊管理器
3.5.5源碼分析
第4章Shuffle詳解
4.1為什么需要Shuffle
4.1.1Shuffle的由來
4.1.2Shuffle實(shí)現(xiàn)的目標(biāo)
4.2Spark執(zhí)行Shuffle的流程
4.2.1總體流程
4.2.2ShuffleRDD的生成
4.2.3Stage的劃分
4.2.4Task的劃分
4.2.5Map端寫入
4.2.6Reduce端讀取
4.3Shuffle內(nèi)存管理
4.3.1任務(wù)內(nèi)存管理器
4.3.2內(nèi)存消費(fèi)者
4.3.3內(nèi)存消費(fèi)組件
4.3.4Tungsten內(nèi)存管理
4.3.5Tungsten內(nèi)存消費(fèi)組件
4.4ShuffleWrite
4.4.1HashShuffleManager
4.4.2HashShuffleWriter
4.4.3SortShuffleManager
4.4.4BypassMergeSortShuffleWriter
4.4.5SortShuffleWriter
4.4.6UnsafeShuffleWriter
4.5ShuffleRead
4.5.1獲取ShuffleReader
4.5.2拉取Map端數(shù)據(jù)
4.5.3數(shù)據(jù)聚合
4.5.4key排序
第5章Spark性能調(diào)優(yōu)
5.1Spark任務(wù)監(jiān)控
5.1.1SparkUI使用
5.1.2Spark運(yùn)行日志詳解
5.2Spark程序調(diào)優(yōu)
5.2.1提高并行度
5.2.2避免創(chuàng)建重復(fù)的RDD
5.2.3RDD持久化
5.2.4廣播大變量
5.2.5使用高性能序列化類庫(kù)
5.2.6優(yōu)化資源操作連接
5.3Spark資源調(diào)優(yōu)
5.3.1CPU分配
5.3.2內(nèi)存分配
5.3.3提高磁盤性能
5.3.4Executor數(shù)量的權(quán)衡
5.3.5Spark管理內(nèi)存比例
5.3.6使用Alluxio加速數(shù)據(jù)訪問
5.4Shuffle過程調(diào)優(yōu)
5.4.1Map端聚合
5.4.2文件讀寫緩沖區(qū)
5.4.3Reduce端并行拉取數(shù)量
5.4.4溢寫文件上限
5.4.5數(shù)據(jù)傾斜調(diào)節(jié)
5.5外部運(yùn)行環(huán)境
參考文獻(xiàn)

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)