上節中簡單的介紹了Spark的一些概念還有Spark生態圈的一些情況,這里主要是介紹Spark運行模式與Spark Standalone模式的部署;
Spark運行模式
在Spark中存在着多種運行模式,可使用本地模式運行、可使用偽分布式模式運行、使用分布式模式也存在多種模式如:Spark Mesos模式、Spark YARN模式;
Spark Mesos模式:官方推薦模式,通用集群管理,有兩種調度模式:粗粒度模式(Coarse-grained Mode)與細粒度模式(Fine-grained Mode);
Spark YARN模式:Hadoop YARN資源管理模式;
Standalone模式: 簡單模式或稱獨立模式,可以單獨部署到一個集群中,無依賴任何其他資源管理系統。不使用其他調度工具時會存在單點故障,使用Zookeeper等可以解決;
Local模式:本地模式,可以啟動本地一個線程來運行job,可以啟動N個線程或者使用系統所有核運行job;
Standalone模式部署實踐
Standalone模式需要將Spark復制到集群中的每個節點,然后分別啟動每個節點即可;Spark Standalone模式的集群由Master與Worker節點組成,程序通過與Master節點交互申請資源,Worker節點啟動Executor運行;
這里使用了兩節點部署Spark集群:192.168.2.131、192.168.2.133,下面簡稱為:133與131節點;其中133節點既是Master節點同時又是Worker節點,131節點為Worker節點;
節點結構圖
部署步驟:
一、首先在133節點上下載Java、Scala與Spark並解壓到/usr/local目錄下,這里使用的Spark是帶有Hadoop的版本;
下載解壓到local
二、配置Java、Scala與Spark環境變量,這里把環境變量配置到/etc/profile文件中,請忽略Hadoop環境變量;
環境變量配置
三、測試Java、Scala是否配置成功,在終端輸入:java -version與scala -version
四、配置Spark環境變量,進入Spark目錄下的conf目錄把slaves.template重命名為slaves,接着把spark-env.sh.template重命名為:spark-env.sh;
重命名
修改spark-env.sh文件,添加環境變量;
spark-env修改
五、在133節點使用scp把下載好的Java、Scala、Spark發送到131節點,並在131節點上重復以上所有步驟;
六、在兩個節點都完成以上所有步驟后開始啟動Spark,133節點既是Master又是Worker;
1、首先在133啟動Spark,進入Spark目錄的sbin目錄執行./start-all.sh:
Master啟動
使用jps命令發現存在Master與Worker進程,說明Spark已啟動成功;
2、啟動131節點的Spark,進入Spark目錄的sbin目錄執行:./start-slave.sh spark://192.168.2.133:7077
start-slave.sh后面的地址為Master節點的通信地址,指定當前slave節點連接到的Master;
slave啟動:
使用jps命令,存在Worker進程則說明當前的Spark Worker節點啟動成功;
七、 Spark Web頁面
可以通過http://192.168.2.133:8080/ 地址查看到當前Spark集群的信息,這地址為Master節點的地址;
SparkWeb:
文章首發地址:Solinx
http://www.solinx.co/archives/531
參考資料:
http://spark.apache.org/docs/latest/spark-standalone.html