Spark大數(shù)據(jù)分析 課件 2.3 Spark運(yùn)行架構(gòu)與原理_第1頁(yè)
Spark大數(shù)據(jù)分析 課件 2.3 Spark運(yùn)行架構(gòu)與原理_第2頁(yè)
Spark大數(shù)據(jù)分析 課件 2.3 Spark運(yùn)行架構(gòu)與原理_第3頁(yè)
Spark大數(shù)據(jù)分析 課件 2.3 Spark運(yùn)行架構(gòu)與原理_第4頁(yè)
Spark大數(shù)據(jù)分析 課件 2.3 Spark運(yùn)行架構(gòu)與原理_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Spark運(yùn)行架構(gòu)與原理目錄/Contents01基本概念02Spark集群運(yùn)行架構(gòu)03Spark運(yùn)行基本流程基本概念01基本概念Spark運(yùn)行架構(gòu)包括集群資源管理器(ClusterManager)、運(yùn)行作業(yè)任務(wù)的工作節(jié)點(diǎn)(WorkerNode)、每個(gè)應(yīng)用的任務(wù)控制節(jié)點(diǎn)(Driver)和每個(gè)工作節(jié)點(diǎn)上負(fù)責(zé)具體任務(wù)的執(zhí)行進(jìn)程(Executor)。其中,集群資源管理器可以是Spark自帶的資源管理器,也可以是YARN或Mesos等資源管理框架。與HadoopMapReduce計(jì)算框架相比,Spark所采用的Executor有兩個(gè)優(yōu)點(diǎn):一是利用多線程來(lái)執(zhí)行具體的任務(wù)(HadoopMapReduce采用的是進(jìn)程模型),減少任務(wù)的啟動(dòng)開(kāi)銷;二是Executor中有一個(gè)BlockManager存儲(chǔ)模塊,會(huì)將內(nèi)存和磁盤共同作為存儲(chǔ)設(shè)備,當(dāng)需要多輪迭代計(jì)算時(shí),可以將中間結(jié)果存儲(chǔ)到這個(gè)存儲(chǔ)模塊里,下次需要時(shí),就可以直接讀該存儲(chǔ)模塊里的數(shù)據(jù),而不需要讀寫到HDFS等文件系統(tǒng)里,因而有效減少了IO開(kāi)銷;或者在交互式查詢場(chǎng)景下,預(yù)先將表緩存到該存儲(chǔ)系統(tǒng)上,從而可以提高讀寫IO性能。

Standalone模式部署ApplicationDriver用戶編寫的Spark應(yīng)用程序,包含了DriverProgram以及在集群上運(yùn)行的程序代碼,物理機(jī)器上涉及了driver,master,worker三個(gè)節(jié)點(diǎn)。

Spark中的Driver即運(yùn)行Application的main函數(shù)并創(chuàng)建SparkContext,創(chuàng)建SparkContext的目的是為了準(zhǔn)備Spark應(yīng)用程序的運(yùn)行環(huán)境,在Spark中由SparkContext負(fù)責(zé)與ClusterManager通信,進(jìn)行資源申請(qǐng)、任務(wù)的分配和監(jiān)控等,當(dāng)Executor部分運(yùn)行完畢后,Driver同時(shí)負(fù)責(zé)將SparkContext關(guān)閉。

Standalone模式部署WorkerExecutor集群中任何一個(gè)可以運(yùn)行spark應(yīng)用代碼的節(jié)點(diǎn)。Worker就是物理節(jié)點(diǎn),可以在上面啟動(dòng)Executor進(jìn)程。在每個(gè)Worker上為某應(yīng)用啟動(dòng)的一個(gè)進(jìn)程,該進(jìn)程負(fù)責(zé)運(yùn)行Task,并且負(fù)責(zé)將數(shù)據(jù)存在內(nèi)存或者磁盤上,每個(gè)任務(wù)都有各自獨(dú)立的Executor。Executor是一個(gè)執(zhí)行Task的容器。RDDRDD(ResilientDistributedDataset)叫做彈性分布式數(shù)據(jù)集,是Spark中最基本的數(shù)據(jù)抽象,它代表一個(gè)不可變、可分區(qū)、里面的元素可并行計(jì)算的集合。

Standalone模式部署TaskJob被送到某個(gè)Executor上的工作單元,但hadoopMR中的MapTask和ReduceTask概念一樣,是運(yùn)行Application的基本單位,多個(gè)Task組成一個(gè)Stage,而Task的調(diào)度和管理等是由TaskScheduler負(fù)責(zé)。包含多個(gè)Task組成的并行計(jì)算,往往由SparkAction觸發(fā)生成,一個(gè)Application中往往會(huì)產(chǎn)生多個(gè)Job。Stage每個(gè)Job會(huì)被拆分成多組Task,作為一個(gè)TaskSet,其名稱為Stage,Stage的劃分和調(diào)度是有DAGScheduler來(lái)負(fù)責(zé)的,Stage有非最終的Stage(ShuffleMapStage)和最終的Stage(ResultStage)兩種,Stage的邊界就是發(fā)生shuffle的地方。Spark集群運(yùn)行架構(gòu)02Spark集群運(yùn)行架構(gòu)Spark是基于內(nèi)存計(jì)算的大數(shù)據(jù)并行計(jì)算框架,比MapReduce計(jì)算框架具有更高的實(shí)時(shí)性,同時(shí)具有高效容錯(cuò)性和可伸縮性,在學(xué)習(xí)Spark操作之前,首先介紹Sprk運(yùn)行架構(gòu)。Spark運(yùn)行基本流程03Spark運(yùn)行基本流程Spark運(yùn)行架構(gòu)主要由SparkContext、ClusterManagaer和Worker組成,其中ClusterManager負(fù)責(zé)整個(gè)集群的同一資源管理,Worker節(jié)點(diǎn)中的Executor是應(yīng)用執(zhí)行的主要進(jìn)程,內(nèi)部含有多個(gè)Task線程以及內(nèi)存空間。Spark運(yùn)行基本流程1)構(gòu)建SparkApplication的運(yùn)行環(huán)境(啟動(dòng)SparkContext),SparkContext向ClusterManager注冊(cè),并申請(qǐng)運(yùn)行Executor資源。2)ClusterManager為Executor分配資源并啟動(dòng)Executor進(jìn)程,Executor運(yùn)行情況將隨著“心跳”發(fā)送到ClusterManager上。3)SparkContext構(gòu)建DAG圖,將DAG圖分解成多個(gè)Stage,并把每個(gè)Stage的TaskSet(任務(wù)集)發(fā)送給TaskScheduler(任務(wù)調(diào)度器)。Executor向SparkContext申請(qǐng)Task,TaskScheduler將Task發(fā)放給Executor,同時(shí),SparkContext將應(yīng)用程序代碼發(fā)放給Executor。4)Task在E

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論