spark執行架構包括:
(1)集群資源管理器(cluster manager)
(2)執行作業任務的工作節點(worker node)
(3)每個應用的任務控制節點(driver)和每個工作節點上負責具體任務的執行程序(executor)。
其中,集群資源管理器可以是spark自帶的資源管理器,也可以是yarn或mesos等資源管理框架。
spark的基本執行流程:
(1)當乙個spark應用被提交時,首先需要為這個應用構建起基本的執行環境,即由任務控制節點(driver)建立乙個sparkcontext,由sparkcontext負責和資源管理器(cluster manager)的通訊以及進行資源的申請、任務的分配和監控等。sparkcontext會向資源管理器註冊並申請執行executor的資源;
(2)資源管理器為executor分配資源,並啟動executor程序,executor運**況將隨著「心跳」傳送到資源管理器上;
(3)sparkcontext根據rdd的依賴關係構建dag圖,dag圖提交給dag排程器(dagscheduler)進行解析,將dag圖分解成多個「階段」(每個階段都是乙個任務集),並且計算出各個階段之間的依賴關係,然後把乙個個「任務集」提交給底層的任務排程器(taskscheduler)進行處理;executor向sparkcontext申請任務,任務排程器將任務分發給executor執行,同時,sparkcontext將應用程式**發放給executor;
(4)任務在executor上執行,把執行結果反饋給任務排程器,然後反饋給dag排程器,執行完畢後寫入資料並釋放所有資源。
source【廈門大學林子雨大資料實驗室spark入門教程】
IT四架構設計模型
按照頂層設計理論和方法的定義,資訊化頂層體系結構包括業務架構 資訊架構 應用架構和技術架構四大範疇。業務架構定義了整體業務能力以及各部門 各業務的協作關係,由業務要素模型表達整體業務能力,包括業務職能 業務布局和業務組合形態,由業務流程模型表達各部門 各業務的協作關係 資訊架構定義了全域性資訊資源組...
10 架構設計流程 識別複雜度
此為筆記 課程鏈結 從今天開始,我將分 4 期,結合複雜度 和架構設計原則,通過乙個模擬的設計場景 前浪微博 和你一起看看在實踐中究竟如何進行架構設計。今天先來看架構設計流程第 1 步 識別複雜度。我在前面講過,架構設計的本質目的是為了解決軟體系統的複雜性,所以在我們設計架構時,首先就要分析系統的複...
架構設計(3) 架構模式
架構設計學習思維導圖 架構設計系列主要的adm 架構開發方法 主要基於togaf9或者togaf9.1來論述。這是個人學習實踐和總結筆記,專注並不斷積累和更新,努力精進自己。個人拙見,僅供參考。1 架構概述 了解架構基礎知識 架構定義 分類 級別 應用架構演進 架構是否合理 架構誤區等。談談架構 2...