大數(shù)據(jù)服務(wù)上云的思考">大數(shù)據(jù)服務(wù)上云的思考
696
2025-04-01
大家好,我是不溫卜火,是一名計算機學(xué)院大數(shù)據(jù)專業(yè)大二的學(xué)生,昵稱來源于成語—不溫不火,本意是希望自己性情溫和。作為一名互聯(lián)網(wǎng)行業(yè)的小白,博主寫博客一方面是為了記錄自己的學(xué)習(xí)過程,另一方面是總結(jié)自己所犯的錯誤希望能夠幫助到很多和自己一樣處于起步階段的萌新。但由于水平有限,博客中難免會有一些錯誤出現(xiàn),有紕漏之處懇請各位大佬不吝賜教!暫時只有csdn這一個平臺,博客主頁:https://buwenbuhuo.blog.csdn.net/
此篇為大家?guī)淼氖荢park環(huán)境搭建—standalone(4) 配置Yarn模式模式。
目錄
一. 準(zhǔn)備工作
1. 安裝啟動Hadoop(需要使用HDFS和YARN,已經(jīng)ok)
2. 安裝單機版Spark(不需要集群)
二. Yarn 模式概述
1. cluster模式
2. client模式(學(xué)習(xí)測試的時候用)
3. 兩種運行方式的區(qū)別
三. 工作模式介紹
四. Yarn 模式配置
五. 運行結(jié)果及查看
一. 準(zhǔn)備工作
官方文檔地址:http://spark.apache.org/docs/latest/running-on-yarn.html
1. 安裝啟動Hadoop(需要使用HDFS和YARN,已經(jīng)ok)
此步如果不會的話,可以參考博主以往博文一文教你快速了解偽分布式集群搭建(超詳細(xì)!)只需查看如何配置HDFS即可
2. 安裝單機版Spark(不需要集群)
1. 把安裝包上傳到/opt/software/下
2. 解壓文件到/opt/module/目錄下
[bigdata@hadoop002 software]$ tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz -C /opt/module
1
3. 復(fù)制剛剛解壓得到的目錄, 并命名為spark-local
[bigdata@hadoop002 module]$ cp -r spark-2.1.1-bin-hadoop2.7 spark-local
1
注意:不需要集群,因為把Spark程序提交給YARN運行本質(zhì)上是把字節(jié)碼給YARN集群上的JVM運行,但是得有一個東西幫我去把任務(wù)提交上個YARN,所以需要一個單機版的Spark,里面的有spark-shell命令,spark-submit命令
二. Yarn 模式概述
Yarn有 client 和 cluster 兩種模式,主要區(qū)別在于:Driver 程序的運行節(jié)點不同。
client:Driver程序運行在客戶端,適用于交互、調(diào)試,希望立即看到app的輸出
cluster:Driver程序運行在由 RM(ResourceManager)啟動的 AM(AplicationMaster)上,適用于生產(chǎn)環(huán)境。
1. cluster模式
在企業(yè)生產(chǎn)環(huán)境中大部分都是cluster部署模式運行Spark應(yīng)用
Spark On YARN的Cluster模式 指的是Driver程序運行在YARN集群上
Driver是什么?
The process running the main() function of the application and creating the SparkContext
運行應(yīng)用程序的main()函數(shù)并創(chuàng)建SparkContext的進(jìn)程。
注意:
之前我們使用的spark-shell是一個簡單的用來測試的交互式窗口,下面的演示命令使用的是spark-submit用來提交打成jar包的任務(wù)
示例運行
bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master yarn \ --deploy-mode cluster \ --driver-memory 1g \ --executor-memory 1g \ --executor-cores 2 \ --queue default \ ./examples/jars/spark-examples_2.11-2.1.1.jar \ 100
1
2
3
4
5
6
7
8
9
10
上述標(biāo)記的含義如下圖:
2. client模式(學(xué)習(xí)測試的時候用)
Spark On YARN的Client模式 指的是Driver程序運行在提交任務(wù)的客戶端
示例運行
bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master yarn \ --deploy-mode client \ ./examples/jars/spark-examples_2.11-2.1.1.jar 100
1
2
3
4
5
6
3. 兩種運行方式的區(qū)別
Cluster和Client模式最最本質(zhì)的區(qū)別是:Driver程序運行在哪里
其中,就直接的區(qū)別就是:
運行在YARN集群中就是Cluster模式,
運行在客戶端就是Client模式
當(dāng)然,還有由本質(zhì)區(qū)別延伸出來的區(qū)別:
cluster模式:生產(chǎn)環(huán)境中使用該模式
Driver程序在YARN集群中
應(yīng)用的運行結(jié)果不能在客戶端顯示
該模式下Driver運行ApplicattionMaster這個進(jìn)程中, 如果出現(xiàn)問題,yarn會重啟ApplicattionMaster(Driver)
client模式:
Driver運行在Client上的SparkSubmit進(jìn)程中
應(yīng)用程序運行結(jié)果會在客戶端顯示
三. 工作模式介紹
四. Yarn 模式配置
1. 修改 hadoop 配置文件 yarn-site.xml
由于咱們的測試環(huán)境的虛擬機內(nèi)存太少, 防止將來任務(wù)被意外殺死, 配置所以做如下配置
1
2
3
4
5
6
7
8
9
10
11
2. 修改后分發(fā)配置文件
// copy到hadoop003 scp /opt/module/hadoop-2.7.2/etc/hadoop/yarn-site.xml hadoop003:/opt/module/hadoop-2.7.2/etc/hadoop/ // copy到hadoop004 scp /opt/module/hadoop-2.7.2/etc/hadoop/yarn-site.xml hadoop004:/opt/module/hadoop-2.7.2/etc/hadoop/
1
2
3
4
5
3. 修改spark-evn.sh文件名
[bigdata@hadoop002 spark]$ cd conf/ [bigdata@hadoop002 conf]$ mv spark-env.sh.template spark-env.sh
1
2
3
3.修改spark-evn.sh文件
SPARK_MASTER_HOST=hadoop002 SPARK_MASTER_PORT=7077 // 添加如下配置: 告訴 spark 客戶端 yarn 相關(guān)配置 YARN_CONF_DIR=/opt/module/hadoop-2.7.2/etc/hadoop // 如果是集群的話需要分發(fā)一下 [bigdata@hadoop002 spark]$ scp /opt/module/spark/conf/spark-env.sh hadoop003:/opt/module/spark/conf/ [bigdata@hadoop002 spark]$ scp /opt/module/spark/conf/spark-env.sh hadoop004:/opt/module/spark/conf/
1
2
3
4
5
6
7
8
五. 運行結(jié)果及查看
1. client模式
bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master yarn \ --deploy-mode client \ ./examples/jars/spark-examples_2.11-2.1.1.jar 100
1
2
3
4
5
UI查看:
http://hadoop003:8088/cluster
2. cluster模式
bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master yarn \ --deploy-mode cluster \ --driver-memory 1g \ --executor-memory 1g \ --executor-cores 2 \ --queue default \ ./examples/jars/spark-examples_2.11-2.1.1.jar \ 100
1
2
3
4
5
6
7
8
9
10
本次的分享就到這里了,
好書不厭讀百回,熟讀課思子自知。而我想要成為全場最靚的仔,就必須堅持通過學(xué)習(xí)來獲取更多知識,用知識改變命運,用博客見證成長,用行動證明我在努力。
如果我的博客對你有幫助、如果你喜歡我的博客內(nèi)容,請“” “評論”“”一鍵三連哦!聽說的人運氣不會太差,每一天都會元氣滿滿呦!如果實在要白嫖的話,那祝你開心每一天,歡迎常來我博客看看。
碼字不易,大家的支持就是我堅持下去的動力。后不要忘了關(guān)注我哦!
spark Yarn
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。