承接上一篇文檔《》
打開埠18080的歷史服務,會發現沒有歷史日誌,現在我們想要顯示歷史日誌。
採取以下的方式
一:
//1. 構建SparkContext上下文對象
val conf = new SparkConf().setMaster(&34;) // 指定應用在哪兒執行,可以是local、或者stadnalone、yarn、mesos集群.setAppName(&34;) //指定應用的名字.set(&34;,&34;).set(&34;,&34;)
可以看到日誌信息
二:
Spark應用參數可以配置的地方
1. 在spark-default.conf裡面配置
2. ${SPARK_HOME}/bin/spark-submit腳本
添加參數 --conf &34;
3. 可以在代碼中構建SparkConf的時候通過相關API指定參數
如果上面三個都配置的話,我們配置不同的埠的話,會運行那種呢?
比如:
(1) spark-default.conf 配置 4055
(2) 添加參數 --conf &34;spark.ui.port&34;4050&34;
結果會運行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
【520 送女生神器 】 看下圖 【 防狼報警器 】替你保護她!