Spark案例練習-打包提交

關注公衆號:分享電腦學習
回覆"百度雲盤" 可以免費獲取所有學習文檔的代碼(不定期更新)
雲盤目錄說明:
tools目錄是安裝包
res 目錄是每一個課件對應的代碼和資源等
doc 目錄是一些第三方的文檔工具

承接上一篇文檔《Spark案例練習-PV的統計

打開端口18080的歷史服務,會發現沒有歷史日誌,現在我們想要顯示歷史日誌。

採取以下的方式

一:

//1. 構建SparkContext上下文對象

val conf = new SparkConf()
.setMaster("local") // 指定應用在哪兒執行,可以是local、或者stadnalone、yarn、mesos集羣
.setAppName("logpvuv") //指定應用的名字
.set("spark.eventLog.enabled","true")
.set("spark.eventLog.dir","hdfs://master:8020/spark/history")

 

 

 

可以看到日誌信息

 

二:

Spark應用參數可以配置的地方

1. 在spark-default.conf裏面配置

 

 

2. ${SPARK_HOME}/bin/spark-submit腳本

添加參數 --conf "spark.ui.port=4050"

3. 可以在代碼中構建SparkConf的時候通過相關API指定參數

 

如果上面三個都配置的話,我們配置不同的端口的話,會運行那種呢?

比如:

(1) spark-default.conf 配置 4055

(2) 添加參數 --conf "spark.ui.port=4051

(3) .set("spark.ui.port","4050")"

結果會運行4050

運行一個spark應用的時候,先去加載spark-default.conf裏面的配置文件,第二個回去加載運行spark-submit命令的配置參數,最後代碼中的配置會覆蓋前面的配置

優先級:3 》 2 》 1

 

現在我們準備將代碼打包提交到集羣上運行,先將一部分代碼去掉,保留下面的部分

 

保存到數據庫的部分也註釋掉,不往數據庫保存

 

基於maven進行打包(clean install即可)

 

(1)clean:刪除target文件

(2)package:打包

(3)install: 打包,並且會jar包安裝到本地的maven倉庫中

 

使用spark-submit提交應用

將jar上傳後

1. 在local運行

./bin/spark-submit \
--class 全包路徑.類名 \
--master local \
Jar包的位置

 

可以省略--master local \ 因爲默認就是在local運行

./bin/spark-submit \
--class 全包路徑..LogPVAndUVCount \
/opt/modules/jar/logpvuv.jar

 

 

 

 

2. 在standalone集羣運行

 

./bin/spark-submit \
--class 全包路徑.類名 \
--master spark://bigdata.ibeifeng.com:7070 \
Jar包的位置

 

 

 

8080頁面可以找到

 

 

 

可以查看歷史服務中也是有的

 

 

有一個參數

deploy-mode 部署模式 :決定driver運行在哪裏

 

client:客戶端,driver運行客戶端(指提交SparkSubmit應用的這臺機器)

cluster:集羣,driver運行在集羣中任意一臺Worker節點上

 

如果不指定的話默認是在客戶端 我們現在指定

 

./bin/spark-submit \
--class 全包路徑.LogPVAndUVCount \
--master spark://master:7070 \
--deploy-mode cluster \
/opt/modules/jar/logpvuv.jar

 

 

可以在客戶端模式下面查看8080頁面

 

 

不過這個地方端口常用的6060作爲集羣模式 而客戶端模式使用7070的

./bin/spark-submit \
--class 全包路徑.LogPVAndUVCount \
--master spark://master:6066 \
--deploy-mode cluster \
--name logpvuv1 \
/opt/modules/jar/logpvuv.jar

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章