第一步:版本的選擇:
spark-0.x spark-1.x(主流:Spark-1.3 和 Spark-1.6) spark-2.x(最新 Spark-2.4) 下載地址:http://spark.apache.org/downloads.html(官網) 其他鏡像網站:https://mirrors.tuna.tsinghua.edu.cn/apache/spark/ https://www.apache.org/dyn/closer.lua/spark/spark-2.3.0/ https://www.apache.org/dyn/closer.lua/spark/ 注意這裏我選擇是:spark-2.3.0-bin-hadoop2.7.tgz。 |
第二步:關於搭建spark集羣的環境:
- spark底層是使用scala語言編寫的,所有這裏需要安裝scala的環境,並且配置scala的環境變量。
- scala和spark也都需要jdk,所以我們還需要配置jdk的環境以及環境變量,關於jdk的版本最好是java 8+。
- 這裏我們用spark-2.3
注意:由於安裝比較簡單,此時略過java以及scala的安裝。
轉載:https://www.cnblogs.com/liugh/p/6623530.html(Linux下安裝java)
轉載:https://www.cnblogs.com/freeweb/p/5623795.html(Linux下安裝scala)
第三步:spark集羣的規劃:
Server | Master | Worker |
hostname01 | √ |
|
hostname02 | √ | |
hostname03 |
| √ |
第四步:具體的集羣安裝:
①上傳下載好的spark安裝包到集羣的任意一個節點(由於個人品味不一,這裏上傳軟件的方式也不同,作者使用的是Xshell) ②解壓,並放置到統一管理的目錄下(注意這個目錄一定要有讀寫的權限):tar zxvf spark-2.3.2-bin-hadoop2.7.tgz -C /application/ ③進入相應的spark的conf目錄:cd $SPARK_HOME/conf: [user01@hostname01 ~]$ mv spark-env.sh.template spark-env.sh [user01@hostname01 conf]$ vim spark-env.sh(加入以下配置) export JAVA_HOME=/application/jdk1.8.0_73 export SPARK_MASTER_HOST=hadoop02 export SPARK_MASTER_PORT=7077 ④修改$SPARK_HOME/conf/slaves(在其中加入集羣的從節點的主機或者IP,這裏我將hostname02、hostname03當做從節點) hostname02 hostname03 注意:這裏的配置,不要用任何多餘的空格和空行!!! ⑤將spark安裝包copy到集羣的其他節點上 scp -r /application/spark-2.3.2-bin-hadoop2.7 hostname02: /application scp -r /application/spark-2.3.2-bin-hadoop2.7 hostname03: /application 注意:由於這裏集羣的節點不是很多,所以在分發安裝包的時候,可以手動輸入密碼,個人建議還是配置一下ssh面祕鑰登錄。 轉載:https://blog.csdn.net/furzoom/article/details/79139570 ⑥配置spark的環境變量:(注意這裏需要所有的集羣節點都要配置,當然配置的地方,根據不同要求而定) 我這裏配置在/etc/profile : (由於提前做了sudo的權限設置,所以在普通用戶下依然可以修改/etc/profile) export SPARK_HOME=/application/spark-2.3.2-bin-hadoop2.7 PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin #注意這裏的bin和sbin都要配置 ⑦最終啓動集羣: [user01@hostname01 ~]$ /application/spark-2.3.2-bin-hadoop2.7/sbin/start-all.sh 切記:如果集羣有hadoop集羣,那麼在hadoop的sbin目錄下也有start-all.sh的命令,所以這裏只能使用全路徑 |
第五步:測試是否啓動成功
第一種方法:
使用jps命令查看進程:master是集羣的主節點,worker是集羣的從節點:
第二種方法:查看web UI界面:
最終出現上述情況任意一個,說明集羣搭建成功。這裏分享的是分佈式集羣,HA集羣,需要步驟比較複雜
並且需要zookeeper組件。