Spark on Yarn 實踐
配置
- spark-env.sh
HADOOP_CONF_DIR=/etc/hadoop/conf
# - YARN_CONF_DIR, to point Spark towards YARN configuration files when you use YARN
YARN_CONF_DIR=/etc/hadoop/conf
JAVA_HOME=/usr/java/jdk1.8.0_172
export LD_LIBRARY_PATH=:/usr/lib/hadoop/lib/native
- salves 配置
- spark-default.conf
spark.executor.cores=3
spark.default.parallelism=40
spark.executor.memory=1536m
spark.executor.memoryOverhead=512m
spark.driver.cores=1
spark.driver.memory=1g
spark.executor.instances=3
spark.serializer=org.apache.spark.serializer.KryoSerializer
- yarn-site.xml
<!-- comment mapreduce shuffle , change to spark_shuffle
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property> -->
<!-- for spark on yarn : spark_shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>spark_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.spark_shuffle.class</name>
<value>org.apache.spark.network.yarn.YarnShuffleService</value>
</property>
- yarn-env.sh
export YARN_HEAPSIZE=1000
總結
spark on yarn 模式下, spark只是個driver , 資源的分配、執行都是由yarn做的。 也即 spark的 master 、worker 沒有參與。
不需要像standalone模式拷貝core-site.xml 和 hdfs-site.xml 。
啟動引數 --master yarn , --deploy-mode 有兩種,cluster 和client 。 cluster模式下dirver 在am上,客戶端可以退出。 client模式下,driver在客戶端,am只用來跟yarn申請資源。
spark在yarn上執行的各種jar包需要指定, 通過引數 spark.yarn.archive or spark.yarn.jars 指定, 若未指定,會將jars目錄全部打包上傳 。 若兩引數都設定了, archive 會覆蓋 jars 引數。 為了避免每次執行都要上傳,可將jar包放到hdfs上,並配置好引數 , 如:
spark.yarn.archive=hdfs://hmcluster/somepath
使用spark shuffle service 。 將yarn/spark-2.3.0-yarn-shuffle.jar 放到hadooplib下 , 配置yarn-site.xml 和 YARN_HEAPSIZE
執行命令
bin/pyspark --master yarn --num-executors 6 --executor-cores 1 --executor-memory 1g
相關文章
- Spark on Yarn 和Spark on MesosSparkYarn
- 12 Spark on YARNSparkYarn
- Spark 原始碼系列(七)Spark on yarn 具體實現Spark原始碼Yarn
- Spark:Yarn-client與Yarn-clusterSparkYarnclient
- spark 與 yarn 結合SparkYarn
- 搭建spark on yarn 叢集SparkYarn
- spark sql 實踐(續)SparkSQL
- Spark 以及 spark streaming 核心原理及實踐Spark
- 部署Spark2.2叢集(on Yarn模式)SparkYarn模式
- Spark原始碼解析-Yarn部署流程(ApplicationMaster)Spark原始碼YarnAPPAST
- Spark Connector Reader 原理與實踐Spark
- Spark推薦系統實踐Spark
- Hadoop YARN:排程效能最佳化實踐HadoopYarn
- Spark UI (基於Yarn) 分析與定製SparkUIYarn
- 位元組跳動 YARN 雲原生化演進實踐Yarn
- 基於lerna+yarn workspaces的monorepo專案實踐YarnMono
- 基於 Spark 的資料分析實踐Spark
- 李亞坤:Hadoop YARN在位元組跳動的實踐HadoopYarn
- 教程:Apache Spark SQL入門及實踐指南!ApacheSparkSQL
- Spark Streaming調優引數及最佳實踐深入剖析-Spark商業調優實戰Spark
- Spark on K8s 在茄子科技的實踐SparkK8S
- Yelp 的 Spark 資料血緣建設實踐!Spark
- Spark Streaming高階特性在NDCG計算實踐Spark
- spark-submit提交到yarn中執行的log怎麼看?SparkMITYarn
- 大資料實踐解析(下):Spark的讀寫流程分析大資料Spark
- 從Spark MLlib到美圖機器學習框架實踐Spark機器學習框架
- 張翼:Spark SQL在攜程的實踐經驗分享!SparkSQL
- 機器學習實踐:如何將Spark與Python結合?機器學習SparkPython
- 解析HetuEngine實現On Yarn原理Yarn
- 實戰乾貨|Spark 在袋鼠雲數棧的深度探索與實踐Spark
- 當Spark遇上TensorFlow分散式深度學習框架原理和實踐Spark分散式深度學習框架
- cdh版spark on yarn與idea直連操作sql遇到的一些問題SparkYarnIdeaSQL
- Spark SQL 欄位血緣在 vivo 網際網路的實踐SparkSQL
- 極光筆記丨Spark SQL 在極光的建設實踐筆記SparkSQL
- 在 Spark 資料匯入中的一些實踐細節Spark
- Spark 灰度釋出在十萬級節點上的成功實踐 CI CDSpark
- Spark Streaming + Spark SQL 實現配置化ETSparkSQL
- YARNYarn