spark 與 yarn 結合
一.yarn 架構
二.yarn在spark官網的位置
1.Delpoying 的 yarn
2.官網位置截圖
二.spark -submit 提交到yarn
1.官網提交例項
2.自己測試提交改進官網例項
spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
/soft/spark/examples/jars/spark-examples_2.11-2.1.1.jar \
3
spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn-cluster \
/soft/spark/examples/jars/spark-examples_2.11-2.1.1.jar \
3
3.總結:
yarn = yarn client 單獨寫yarn 與 deploy-mode 後面寫 yarn client 一樣
4.提交可能遇到這個錯誤
5.原因:
spark 要用yarn 你得告訴人配置在哪
命令列 export HADOOP_CONF_DIR 等
配置到命令列值當前有效,但是你要配置到spark-env 中可以永久有效
三.spark-submit 提交到yarn的日誌
1.提交日誌的顯示
2.流程解釋
首先把spark的jars包裡面的包要全部傳上來
配置檔案也要放上來
要看這個引數配沒配置 spark.yarn.jars nor spark.yarn.archive
四.spark-submit 提交到yarn加快速度,不用每次都去提交spark的jars
1.配置引數
Neither spark.yarn.jars nor spark.yarn.archive is set,
falling back to uploading libraries under SPARK_HOME.
2.官網位置
3.你要配置在spark-defalut.conf中,配置如下
首先你要把你的spark中的jars所用jar包傳到hdfs上
之後你要spark.yarn.jars = hdfs路徑
在提交的時候就不會有提交yarn前面每次都是上傳的日誌了
4.對於每次都會有很久的accetped 申請資源的日誌,這是正常現象,需要看資源是否滿足才給申請
五.spark-submit 提交到yarn的一些引數
1.檢視引數 spark-submit —help
2.引數截圖
3.主要用引數解釋
—num-executors 預設是有兩個-executor
—executor-cores 在yarn中預設每個executor一個core
—executor-memory MEM Memory per executor (e.g. 1000M, 2G) (Default: 1G). 預設每個executor 記憶體是1G
五.yarn面試常問的問題
1.yarn有什麼狀態,先經過什麼,在經過什麼
在yarn8088介面左側顯示
2.yarn-client模式 與 cluster模式有什麼區別
最明顯區別:
主要看driver執行在哪裡
client 模式driver執行在提交的這臺機器,就是執行在本地
cluster 模式 driver執行在 AM 裡
區別二:
client如果driver在叢集外要頻繁與executor通訊好資源,
client模式下客戶機可以是叢集之外或之內的,如果是之內的
網路請求頻次會非常高,如果100個driver都啟動在一臺機器
那麼會driver 與 executor頻繁通訊
如果是cluster :
driver在AM裡,AM在nodemanager上的contains 容器裡
所以不需要頻繁通訊,每臺機器上都有
通訊在叢集內部對網路會好些
區別三:
client 不可以crtl + c 把客戶端幹掉要不就沒法與executor通訊了
cluster 通過客戶端提交到叢集上客戶端有沒有無所謂了
區別四:
client模式在客戶端可以看到日誌
cluster 你是看不到日誌的,日誌在yarn上所以看不到
3.cluster 模式 Driver 執行在AM裡面 圖片
4.client模式 Driver執行在本地
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69941978/viewspace-2651446/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Spark:Yarn-client與Yarn-clusterSparkYarnclient
- Spark on Yarn 和Spark on MesosSparkYarn
- 12 Spark on YARNSparkYarn
- Spark UI (基於Yarn) 分析與定製SparkUIYarn
- Spark on Yarn 實踐SparkYarn
- 搭建spark on yarn 叢集SparkYarn
- Spark 原始碼系列(七)Spark on yarn 具體實現Spark原始碼Yarn
- 機器學習實踐:如何將Spark與Python結合?機器學習SparkPython
- 部署Spark2.2叢集(on Yarn模式)SparkYarn模式
- Spark原始碼解析-Yarn部署流程(ApplicationMaster)Spark原始碼YarnAPPAST
- cdh版spark on yarn與idea直連操作sql遇到的一些問題SparkYarnIdeaSQL
- yarn 與 npm 比較YarnNPM
- 加密與水印結合加密
- Retrofit與LiveData結合LiveData
- spark-submit提交到yarn中執行的log怎麼看?SparkMITYarn
- WinAMS 與 Jenkins 的結合Jenkins
- SpringBoot與mongodb的結合Spring BootMongoDB
- spark與hbaseSpark
- 最新!SQL Server 2019將結合Spark建立統一資料平臺!SQLServerSpark
- SpringBoot:結合 SpringBoot 與 Grails 3Spring BootAI
- 欠擬合與過擬合技術總結
- spark 與flume 1.6.0Spark
- chatgpt與其他行業的結合ChatGPT行業
- async 與 Thread 的錯誤結合thread
- dockerfile中ENTRYPOINT與CMD的結合Docker
- 區塊鏈與金融的結合區塊鏈
- spark與kafaka整合workcount示例 spark-stream-kafkaSparkKafka
- Spark的Shuffle總結分析Spark
- Spark安裝與配置Spark
- Hadoop與Spark關係HadoopSpark
- Hadoop框架:Yarn基本結構和執行原理Hadoop框架Yarn
- YARNYarn
- npm與yarn的一些筆記NPMYarn筆記
- spark學習筆記--Spark調優與除錯Spark筆記除錯
- 大模型API與前端的結合使用大模型API前端
- 關於Unity 如何與Blazor Server結合UnityBlazorServer
- 速度與精度的結合 - EfficientNet 詳解
- Devops與敏捷二者能否結合?dev敏捷