教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

spark筆記之Spark運(yùn)行架構(gòu)

更新時(shí)間:2018年09月11日16時(shí)01分 來源:傳智播客 瀏覽次數(shù):

  3. Spark運(yùn)行基本流程

  Spark運(yùn)行基本流程參見下面示意圖:

  1) 構(gòu)建Spark Application的運(yùn)行環(huán)境(啟動SparkContext),SparkContext向資源管理器(可以是Standalone、Mesos或YARN)注冊并申請運(yùn)行Executor資源;

  2) 資源管理器分配Executor資源并啟動Executor,Executor運(yùn)行情況將隨著心跳發(fā)送到資源管理器上;

  3) SparkContext構(gòu)建成DAG圖,將DAG圖分解成Stage,并把Taskset發(fā)送給Task Scheduler。Executor向SparkContext申請Task,Task Scheduler將Task發(fā)放給Executor運(yùn)行同時(shí)SparkContext將應(yīng)用程序代碼發(fā)放給Executor。

  4) Task在Executor上運(yùn)行,運(yùn)行完畢釋放所有資源。

  4. Spark運(yùn)行架構(gòu)特點(diǎn)

  Spark運(yùn)行架構(gòu)特點(diǎn):

 ?、倜總€Application獲取專屬的executor進(jìn)程,該進(jìn)程在Application期間一直駐留,并以多線程方式運(yùn)行tasks。

  ②Spark任務(wù)與資源管理器無關(guān),只要能夠獲取executor進(jìn)程,并能保持相互通信就可以了。

 ?、厶峤籗parkContext的Client應(yīng)該靠近Worker節(jié)點(diǎn)(運(yùn)行Executor的節(jié)點(diǎn)),最好是在同一個Rack里,因?yàn)镾park程序運(yùn)行過程中SparkContext和Executor之間有大量的信息交換;如果想在遠(yuǎn)程集群中運(yùn)行,最好使用RPC將SparkContext提交給集群,不要遠(yuǎn)離Worker運(yùn)行SparkContext。

 ?、躎ask采用了數(shù)據(jù)本地性和推測執(zhí)行的優(yōu)化機(jī)制。


作者:傳智播客云計(jì)算大數(shù)據(jù)培訓(xùn)學(xué)院

首發(fā):http://cloud.itcast.cn

0 分享到:
和我們在線交談!