大數(shù)據(jù)服務(wù)上云的思考">大數(shù)據(jù)服務(wù)上云的思考
955
2022-05-30
目錄
環(huán)境搭建-Spark on YARN
注意事項(xiàng)
Spark On Yarn的本質(zhì)?
Spark On Yarn需要啥?
總結(jié):
修改配置
修改spark-env.sh
整合歷史服務(wù)器并關(guān)閉資源檢查
整合Yarn歷史服務(wù)器并關(guān)閉資源檢查
配置spark歷史服務(wù)器
修改spark-env.sh
設(shè)置日志級別
配置依賴Spark Jar包
啟動服務(wù)
環(huán)境搭建-Spark on YARN
Spark運(yùn)行在YARN上是有2個(gè)模式的,?1個(gè)叫?Client模式?一個(gè)叫Cluster模式
Spark On Yarn - Cluster模式
Spark On Yarn - Client模式
Yarn是一個(gè)成熟穩(wěn)定且強(qiáng)大的資源管理和任務(wù)調(diào)度的大數(shù)據(jù)框架,在企業(yè)中市場占有率很高,意味著有很多公司都在用Yarn,將公司的資源交給Yarn做統(tǒng)一的管理!并支持對任務(wù)做多種模式的調(diào)度,如FIFO/Capacity/Fair等多種調(diào)度模式!
所以很多計(jì)算框架,都主動支持將計(jì)算任務(wù)放在Yarn上運(yùn)行,如Spark/Flink
企業(yè)中也都是將Spark Application提交運(yùn)行在YANR上,文檔:
http://spark.apache.org/docs/2.4.5/running-on-yarn.html#launching-spark-on-yarn
注意事項(xiàng)
Spark On Yarn的本質(zhì)?
將Spark任務(wù)的class字節(jié)碼文件打成jar包,提交到Y(jié)arn的JVM中去運(yùn)行
Spark On Yarn需要啥?
1.需要Yarn集群:已經(jīng)安裝了
2.需要提交工具:spark-submit命令--在spark/bin目錄
3.需要被提交的jar:Spark任務(wù)的jar包(如spark/example/jars中有示例程序,或我們后續(xù)自己開發(fā)的Spark任務(wù))
4.需要其他依賴jar:Yarn的JVM運(yùn)行Spark的字節(jié)碼需要Spark的jar包支持!Spark安裝目錄中有jar包,在spark/jars/中
總結(jié):
SparkOnYarn
不需要搭建Spark集群
只需要:Yarn+單機(jī)版Spark(里面有提交命令,依賴jar,示例jar)
當(dāng)然還要一些配置
修改配置
當(dāng)Spark Application運(yùn)行到Y(jié)ARN上時(shí),在提交應(yīng)用時(shí)指定master為yarn即可,同時(shí)需要告知YARN集群配置信息(比如ResourceManager地址信息),此外需要監(jiān)控Spark Application,配置歷史服務(wù)器相關(guān)屬性。
修改spark-env.sh
cd /export/server/spark/conf
vim /export/server/spark/conf/spark-env.sh
添加內(nèi)容
## HADOOP軟件配置文件目錄,讀取HDFS上文件和運(yùn)行YARN集群
HADOOP_CONF_DIR=/export/server/hadoop/etc/hadoop
YARN_CONF_DIR=/export/server/hadoop/etc/hadoop
同步
cd /export/server/spark/conf
scp -r spark-env.sh root@node2:$PWD
scp -r spark-env.sh root@node3:$PWD
整合歷史服務(wù)器并關(guān)閉資源檢查
整合Yarn歷史服務(wù)器并關(guān)閉資源檢查
在【$HADOOP_HOME/etc/hadoop/yarn-site.xml】配置文件中,指定MRHistoryServer地址信息,添加如下內(nèi)容,
在node1上修改
cd /export/server/hadoop/etc/hadoop
vim /export/server/hadoop/etc/hadoop/yarn-site.xml
添加內(nèi)容
由于使用虛擬機(jī)運(yùn)行服務(wù),默認(rèn)情況下YARN檢查機(jī)器內(nèi)存,當(dāng)內(nèi)存不足時(shí),提交的應(yīng)用無法運(yùn)行,可以設(shè)置不檢查資源
在yarn-site.xml 中添加proxyserver的配置,可以讓點(diǎn)擊applicationmaster的時(shí)候跳轉(zhuǎn)到spark的WEBUI上。
同步
cd /export/server/hadoop/etc/hadoop
scp -r yarn-site.xml root@node2:$PWD
scp -r yarn-site.xml root@node3:$PWD
配置spark歷史服務(wù)器
進(jìn)入配置目錄
cd /export/server/spark/conf
修改配置文件名稱
mv spark-defaults.conf.template spark-defaults.conf
vim spark-defaults.conf
添加內(nèi)容:
spark.eventLog.enabled ?????????????????true
spark.eventLog.dir ?????????????????????hdfs://node1:8020/sparklog/
spark.eventLog.compress ????????????????true
spark.yarn.historyServer.address ???????node1:18080
修改spark-env.sh
進(jìn)入配置目錄
cd /export/server/spark/conf
修改配置文件
vim spark-env.sh
增加如下內(nèi)容:
##?配置spark歷史服務(wù)器地址
SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://node1:8020/sparklog/ -Dspark.history.fs.cleaner.enabled=true"
注意:sparklog需要手動創(chuàng)建
hadoop fs -mkdir -p /sparklog
設(shè)置日志級別
進(jìn)入目錄
cd /export/server/spark/conf
修改日志屬性配置文件名稱
mv log4j.properties.template log4j.properties
改變?nèi)罩炯墑e
vim log4j.properties
修改內(nèi)容如下:
同步
cd /export/server/spark/conf
scp -r spark-env.sh?root@node2:$PWD
scp -r spark-env.sh?root@node3:$PWD
scp -r spark-defaults.conf root@node2:$PWD
scp -r spark-defaults.conf root@node3:$PWD
scp -r log4j.properties root@node2:$PWD
scp -r log4j.properties root@node3:$PWD
配置依賴Spark Jar包
當(dāng)Spark Application應(yīng)用提交運(yùn)行在YARN上時(shí),默認(rèn)情況下,每次提交應(yīng)用都需要將依賴Spark相關(guān)jar包上傳到Y(jié)ARN 集群中,為了節(jié)省提交時(shí)間和存儲空間,將Spark相關(guān)jar包上傳到HDFS目錄中,設(shè)置屬性告知Spark Application應(yīng)用。
## hdfs上創(chuàng)建存儲spark相關(guān)jar包目錄
hadoop fs?-mkdir -p /spark/jars/
## 上傳$SPARK_HOME/jars所有jar包
hadoop fs?-put /export/server/spark/jars/* /spark/jars/
在spark-defaults.conf中增加Spark相關(guān)jar包位置信息:
在node1上操作
vim /export/server/spark/conf/spark-defaults.conf
添加內(nèi)容
spark.yarn.jars ?hdfs://node1:8020/spark/jars/*
同步
cd /export/server/spark/conf
scp -r spark-defaults.conf root@node2:$PWD
scp -r spark-defaults.conf root@node3:$PWD
啟動服務(wù)
Spark Application運(yùn)行在YARN上時(shí),上述配置完成
啟動服務(wù):HDFS、YARN、MRHistoryServer和Spark HistoryServer,命令如下:
## 啟動HDFS和YARN服務(wù),在node1執(zhí)行命令
start-dfs.sh
start-yarn.sh
或
start-all.sh
## 啟動MRHistoryServer服務(wù),在node1執(zhí)行命令
mr-jobhistory-daemon.sh start historyserver
## 啟動Spark HistoryServer服務(wù),,在node1執(zhí)行命令
/export/server/spark/sbin/start-history-server.sh
## 啟動Yarn的ProxyServer服務(wù)
/export/server/hadoop/sbin/yarn-deamon.sh start proxyserver
Spark HistoryServer服務(wù)WEB UI頁面地址:
http://node1:18080/
spark Yarn 大數(shù)據(jù)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。