Spark On Yarn徹底解密

2021-07-09 20:56:15 字數 2426 閱讀 7959

spark on yarn 徹底解密

本期內容:

1、hadoop yarn解密

2、spark on yarn 解密

一、hadoop yarn 解析

1、yarn是hadoop推出整個分布式(大資料)集群的資源管理器,負責資源的管理和分配,基於yarn我們可以在同乙個大資料集群上同時執行多個計算框架,例如spark,mapreduce、storm等;

yarn有兩個主體物件,乙個是resourcemanager,負責集群的資源管理,二是node manager管理節點的資源,並向resourcemanager匯報每台機器的資源使用情況,繼而yarn可以知道整個集群的資源使用情況,resourcemanager就是整個集群的master,知道具體的節點啟動具體的程序,不會主動到具體機啟動具體程序,由nodemaster啟動相應的(executorbackend)程序;

補充說明:

1)如果是hadoop的mapreduce計算的話container不可以復用,如果是spark on yarn的話container可以復用;

二、spark on yarn的兩種執行模式實戰,此時不需要啟動

spark

集群,只需要啟動

yarn

即可,yarn

的resourcemanager

就相對於

spark standalone

模式下的

master

!(我們啟動

spark

集群是要用到

standalone

,現在有

yarn

了,就不用

spark

集群了)

1、spark on yarn的兩種執行模式:唯一的決定因素是當前

從任務排程器

driver

執行在什麼地方!

a) cluster:(如果spark執行在on yarn上,根本就沒必要啟動spark集群,master是resourcemanager)

b) client:driver執行在當前提交程式的客戶機器上;

需要說明的是:無論什麼模式,只要當前機器執行了spark。

./spark-submit --class org.apache.spark.examples.sparkpi --master yarn --deploy-mode client ../lib/spark-examples-1.6.0-hadoop2.6.0.jar 50000
將並行任務變成50000個(50000臺虛擬機器)

2、sparkon yarn的執行實戰:

a) client模式:方便在命令終端

啟動spark集群是啟動master和worker,因為這兩個程序是用來管理的資源的,做計算是在executor中jvm程序中的執行緒的**,spark集群的計算跟spark集群沒有關係,實質是;

天機解密:standalone

模式下啟動

spark

集群(也就是啟動

master

和worker

)其實啟動的是資源管理器,真正作業計算的時候和集群資源管理器沒有任何關係,所以

spark

的job

真正執行作業的時候不是執行在我們啟動的

spark

集群中的,而是執行在乙個個

jvm中的,只要在

jvm所在的集群上安裝配置了

spark

即可!

上述程式的執行證明了cluster.yarnschedulerbackend來接受計算資源的註冊。

b) 只負責資源的申請和launchexecutor,此時啟動後的executor

三:最佳實踐

1、在spark on yarn的模式下hadoopyarn的配置yarn.nodemanager.local-dirs會覆蓋spark的spark.local.dir;

2、在 實際生產環境下一班都是採用cluster,我們會通過historyserver來獲取最終全部的集群執行的資訊;

3、如果想直接看執行的日誌資訊,可以使用以下命令:

王家林老師是大資料技術集大成者,中國spark第一人:

dt大資料夢工廠

部落格:http://.blog.sina.com.cn/ilovepains

tel:18610086859

email:[email protected]

spark on yarn日誌切割

由於spark on yarn的日誌會在stderr裡面一直追加,而且streaming又是長應用,那麼stderr會一直增長。解決辦法就是把stderr按天切割,這樣我們就可以刪除之前的日誌了。1.首先,把集群中的hadoop的log4j檔案 etc hadoop conf log4j.prope...

spark on yarn架構簡介

spark自從問世以來就收到了廣泛的關注,其熱度一直居高不下。spark的出現,為實時資料的處理帶來了極大的方便,相比hadoop,spark在某些情況下處理資料的速度要快於hadoop,其主要原因有以下兩點 1.spark中間的資料不落地,這是最主要的原因,中間的資料存放在記憶體中,這就極大的減少...

Spark on yarn安裝部署

說明 1.spark的部署模式主要有 local模式 standalone模式 yarn模式 yarn client,yarn master mesos模式 coarse grained mode,fine grained mode。整理了幾篇說明性blog spark集群三種部署模式的區別 spa...