本地運作模式
1.将壓縮包spark-3.0.0-bin-hadoop3.2.tgz上傳到虛拟機中

2.上傳完成後,解壓縮到無中文無空格的目錄當中
tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz
3.解壓完之後,重命名檔案夾mv spark-3.0.0-bin-hadoop3.2/ spark-local
4.進入spark-local檔案夾目錄下使用指令bin/spark-shell進入指令行工具
啟動成功
5.此時就可以寫spark的基本文法了
6.spark中預先準備了上下文環境對象‘sc’
7.在spark-local/data目錄下建立一個新檔案word.txt
Vim word.txt
寫入
Hello Scala
Hello Spark
儲存并且退出
8.在spark指令行中輸入
sc.textFile("data/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
執行
結果
統計完成
目前本地環境配置OK
9.Spark中有一個監控頁面
此處有提示,複制粘貼在網頁中打開
10.退出本地模式
按鍵CTRL+C或者輸入Scala指令:quit
注:開發環境中一般不适用本地模式
Standalone 模式
叢集模式配置
local 本地模式畢竟隻是用來進行練習示範的,真實工作中還是要将應用送出到對應的叢集中去執行,這裡我們來看看隻使用 Spark 自身節點運作的叢集模式,也就是我們所謂的 獨立部署(Standalone)模式。Spark 的 Standalone 模式展現了經典的 master-slave 模式。 叢集規劃local 本地模式畢竟隻是用來進行練習示範的,真實工作中還是要将應用送出到對應的 叢集中去執行,這裡我們來看看隻使用 Spark 自身節點運作的叢集模式,也就是我們所謂的 獨立部署(Standalone)模式。Spark 的 Standalone 模式展現了經典的 master-slave 模式
1.解壓縮
2.重命名
mv spark-3.0.0-bin-hadoop3.2 spark-standalone
3.修改配置檔案
進入解壓縮後路徑的 conf 目錄,修改 slaves.template 檔案名為 slaves
mv slaves.template slaves
修改 slaves 檔案,添加 work 節點 vim slaves
Master
C2
C3
修改 spark-env.sh.template 檔案名為 spark-env.sh
mv spark-env.sh.template spark-env.sh
修改 spark-env.sh 檔案,添加 JAVA_HOME 環境變量和叢集對應的 master 節點
Java存放位置
主機名稱
端口号,預設7077
注意:7077 端口,相當于 hadoop3 内部通信的 8020 端口,此處的端口需要确認自己的 Hadoop 配置
分發 spark-standalone 目錄
xsync spark-standalone
(沒有xsync需要自己配腳本)
4.啟動叢集
sbin/start-all.sh
5. 檢視 Master 資源監控 Web UI 界面: http://master:8080
成功
6.送出應用程式
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://master:7077 \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10
叢集環境OK
7.配置曆史服務
1) 修改 spark-defaults.conf.template 檔案名為 spark-defaults.conf
mv spark-defaults.conf.template spark-defaults.conf
2) 修改 spark-default.conf 檔案,配置日志存儲路徑
Vim
spark.eventLog.enabled true
spark.eventLog.dir hdfs://master:8020/directory
(需要提前打開Hadoop并且在hdfs中建立directory檔案)
3) 修改 spark-env.sh 檔案, 添加日志配
export SPARK_HISTORY_OPTS=" -Dspark.history.ui.port=18080 -Dspark.history.fs.logDirectory=hdfs://master:8020/directory -Dspark.history.retainedApplications=30"
4) 分發配置檔案 xsync conf
5) 重新啟動叢集和曆史服務 sbin/start-all.sh sbin/start-history-server.sh
6) 重新執行任務
(我報錯了,應該是端口号的原因我的是9000,但是沒有改,這裡的教程是8020是以出錯了,在第一個配置中少打了一個/也報了錯)
(修改之後還是有錯誤,檢視了一下其它兩個的conf發現多了一個檔案,把多出來的重複檔案删除掉,重新啟動之後OK)
7) 檢視曆史服務:http://master:18080
ok