Spark的架構原理

2021-08-07 14:16:45 字數 858 閱讀 3920

driver:driver是spark集群的節點之一,我們編寫的spark程式就在driver上,由driver程序執行。

master:master是個程序,主要負責資源的排程和分配,還有集群的監控,等等職責。

worker:worker是個程序,主要負責兩個方面,乙個是用自己的記憶體儲存rdd的某個或某些partition;另乙個,是啟動其他程序和執行緒,對rdd上的partition進行版型的處理和計算。

executor和task:負責執行,對rdd的partition進行並行的計算。也就是執行我們隊rdd的定義,比如:map、flatmap、reduce等運算元操作。

(1)driver程序啟動之後,會做一些初始化的操作,在這個過程中,就會傳送請求到master上,進行spark應用程式的註冊。

(2)master在接收到了spark應用程式的註冊申請之後,會傳送請求給worker,進行資源的排程和分配。

(3)worker接收到master的請求之後,會為spark應用啟動executor。

(4)executor啟動之後,會向driver進行反註冊。這樣,driver就知道,哪些executor是為它進行服務的了。

(5)driver註冊了一些executor之後,就可以開始正式執行我們的spark應用程式了。首先第一步就是,建立初始的rdd,讀取資料源。hdfs檔案內容讀取到多個worker節點上,形成記憶體中的分布式資料集,也就是初始rdd。

(6)driver會根據我們對rdd定義的操作,提交一大堆task去executor上。

(7)executor接收到task之後,會啟動多個執行緒來執行task。

(8)task就會對rdd的partition資料執行指定的運算元操作,形成新的rdd的partition。

Spark架構原理

本文總結了spark架構原理,其中主要包括五個元件 driver master worker executor和task,簡要概括了每個元件是幹啥的,並總結提交spark程式之後,這五個元件執行的詳細步驟。為了直觀,就把流程圖放在最前面了 driver是乙個程序,我們編寫的spark程式執行在dri...

Spark架構及原理

原則一 避免建立重複的rdd 原則二 盡可能用同乙個rdd 原則三 對多次使用的rdd進行持久化 如何選擇一種最合適的持久化策略 原則四 盡量避免使用shuffle類運算元 原則五 使用map side預聚合的shuffle操作 groupbykey 和 reducebykey 原則六 使用高效能的...

spark學習12(spark架構原理)

spark採用的是主從式的架構,主節點叫master,從節點是worker 我們編寫的spark就在driver上,由driver程序執行。driver是spark集群的節點之一,或你提交spark程式的機器 master是集群的資源管理者和排程者,類似yarn裡面的resourcemanger,還...