Spark的運行模式(2)--Yarn-Cluster和Yarn-Client


3. Yarn-Cluster

Yarn是一種統一資源管理機制,可以在上面運行多種計算框架。Spark on Yarn模式分為兩種:Yarn-Cluster和Yarn-Client,前者Driver運行在Worker節點,后者Driver運行在Client節點上。采用Spark on Yarn模式,只需要在一個節點部署Spark就行了,因此部署比較簡單。

先介紹一下Yarn-Cluster。

首先把spark-assembly-1.6.0-hadoop2.6.0.jar上傳到HDFS。

由於Yarn在安裝Hadoop的時候已經配置了,所以就直接對Spark進行配置了。spark-env.sh在部署Standalone模式是已經設置了,所以也不需要在設置。這里只需要在Master節點設置spark-defaults.conf,該文件在${HADOOP_HOME}/conf目錄下,增加以下設置:

spark.master                         spark://master:7077
spark.yarn.jar                     hdfs://master:9000/spark/jars/spark-assembly-1.6.0-hadoop2.6.0.jar
spark.eventLog.enabled                true
spark.eventLog.dir                 hdfs://master:9000/spark/logs
spark.serializer                      org.apache.spark.serializer.KryoSerializer
spark.driver.memory                   1g
spark.yarn.scheduler.heartbeat.intervals-ms            5000            
spark.yarn.preserve.staging.files                      false
spark.yarn.max.executor.failures                       6
spark.driver.extraJavaOptions -Dhdp.version=2.6.5
spark.yarn.am.extraJavaOptions -Dhdp.version=2.6.5

Spark on Yarn不需要啟動Spark的Master或者Slave,只需要啟動Hadoop的DFS和Yarn就行了,也就是只需要運行Hadoop的start-all.sh就行了,因此運行也相對簡單,並且性能還比較好。

啟動Hadoop的DFS和Yarn以后,運行:

其中的 --master yarn-cluster表明以Yarn-Cluster模式運行。運行結束以后可以Master:8080看到這個Application:

點進Logs可以看見運行結果:

3. Yarn-Client

Yarn-Client的部署和Yarn-Cluster是一樣的,區別就在於Yarn-Cluster的Driver運行在Worker節點,而Yarn-Client的Driver運行在Client節點。

輸入命令:

其中--master yarn-client表明以Yarn-Client模式運行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM