spark 支援 standalone、yarn、mesos、kubernetes 等多種部署方案,幾種部署方案的原理也都一樣,只是不同元件角色命名不同,但核心功能和執行流程差不多。具體部署方式可以看官方文件:spark deploy
上面這張圖是官網上的 spark 的執行流程,具體來看:
1,spark 應用程式啟動在自己的 jvm 程序中,即 driver 程序。啟動後 sparkcontext 初始化執行配置和輸入資料。sparkcontext 啟動 dagscheduler 構造執行的 dag 圖,切分成最小的執行單位:task;
2,driver 向 cluster manager 請求計算資源,用於 dag 的分布式計算。cluster manager 收到請求後,將 driver 的主機位址等資訊通知給集群的所有計算節點 worker。
3,worker 收到資訊後,根據 driver 的主機位址,跟 driver 通訊並註冊,然後根據自己的空閒資源向 driver 通報自己可以領用的任務數。driver 根據 dag 圖開始向註冊的 worker 分配任務。
spark程式的執行過程
1.先通過idea獲得程式打包後的jar 2.進入spark的安裝目錄,啟動master sbin start master.sh開啟瀏覽器,輸入http localhost 8080 啟動worker bin spark class org.apache spark deploy worker w...
Spark任務執行過程解析
spark submit sparksubmit main submit dorunmain runmain 通過反射,建立我們編寫的主類的例項物件,呼叫main方法 開始執行我們的 初始化sparkcontext物件 建立初始rdd 出發action運算元 提交job worker執行任務 任務結...
Spark執行過程中的錯誤
配置完歷史伺服器之後測試saprkpi案例報以上錯誤。原因在於 spark env.sh和spark defaults.conf中配置logdierctory的路徑埠為8020 預設埠 這樣不對,因為spark產生的日誌檔案儲存到hdfs中,所以spark訪問hdfs的uri應該與hadoop的co...