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...