Spark完全分布式完整部署教程
繼Mapreduce之后,作為新一代並且是主流的計算引擎,學好Spark是非常重要的,這一篇博客會專門介紹如何部署一個分布式的Spark計算框架,在之后的博客中,更會講到Spark的基本模塊的介紹以及底層原理,好了,廢話不多說,直接開始吧!
1. 安裝准備
部署Spark時,我們使用的版本如下所示:

2. 正式安裝
1. 將spark-2.4.3-bin-hadoop2.7.tgz文件使用遠程傳輸軟件發送至/home/centos/downloads目錄下
2. 將spark-2.4.3-bin-hadoop2.7.tgz解壓縮至/soft目錄下
tar -xzvf spark-2.4.3-bin-hadoop2.7.tgz -C /soft
3. 進入到/soft目錄下,配置spark的符號鏈接
cd /soft
ln -s spark-2.4.3-bin-hadoop2.7 spark
4. 修改並生效環境變量
nano /etc/profile
在文件末尾添加以下代碼:
#spark環境變量
export SPARK_HOME=/soft/spark
export PATH=$PATH:$SPARK_HOME/bin
生效環境變量后保存退出
source /etc/profile
5. 規划集群部署方案
根據現有的虛擬機配置,集群部署方案為:s101節點作為master節點,s102 - s104作為worker節點
6. 使用腳本分發spark軟件包以及/etc/profile文件到所有節點
cd /soft
xsync.sh spark-2.4.3-bin-hadoop2.7
xsync.sh /etc/profile
7. 使用ssh連接到除s101外的其他所有節點創建符號鏈接
ssh s102
cd /soft
ln -s spark-2.4.3-bin-hadoop2.7 spark
exit
其他節點同理
8. 配置spark的配置文件並分發到所有節點
cd /soft/spark/conf
cp spark-env.sh.template spark-env.sh
nano spark-env.sh
在文件末尾處添加后保存退出:
export JAVA_HOME=/soft/jdk
export HADOOP_CONF_DIR=/soft/hadoop/etc/hadoop
准備好如下文件,避免每次提交spark job上傳spark類庫:
![]()
先用WinScp將spark的類庫放到/home/centos目錄下
將spark的類庫上傳到HDFS文件系統上去:hdfs dfs -put /home/centos/spark_lib.zip /
修改spark-defaults配置文件:
cp spark-defaults.conf.template spark-defaults.conf
nano spark-defaults.conf
在文件末尾處添加后保存退出:
spark.yarn.archive hdfs://mycluster/spark_lib.zip
cp slaves.template slaves
nano slaves
在文件中末尾處刪除localhost並添加以下命令后后保存退出:
s102
s103
s104
分發上述三個個配置文件
xsync.sh spark-env.sh
xsync.sh spark-defaults.conf
xsync.sh slaves
9. 啟動spark集群
/soft/spark/sbin/start-all.sh
10. 查看進程
xcall.sh jps
出現以下畫面:

11. 查看WebUI
http://s101:8080
配置大功告成!!!

12. 結合hadoop啟動spark的各種模式檢測是否都能正常啟動
啟動local模式:spark-shell --master local

啟動hadoop集群:
xzk.sh start
start-all.sh
然后啟動standalone模式:spark-shell --master spark://s101:7077

最后測試yarn模式是否能連接成功:spark-shell --master yarn

