從0到1搭建spark集羣---企業集羣搭建

今天分享一篇從0到1搭建Spark集羣的步驟,企業中你們亦能夠參照次集羣搭建本身的Spark集羣。html

一。下載Spark安裝包java

能夠從官網下載,本集羣選擇的版本是spark-1.6.0-bin-hadoop2.6node

在官網中找到對應的連接便可http://spark.apache.org/downloads.htmlshell

或者用本人云盤下載地址 附上連接以下連接:https://pan.baidu.com/s/1o7Vrkue 密碼:sc2zapache

二。部署和規劃Spark集羣架構

提早準備好四臺虛擬主機,三臺主機 node1 node2 node4 作Spark集羣  develop作Spark客戶端用於提交程序jvm

集羣規劃以下:ide

node1 Master節點 node2,node4 Worker節點 架構圖以下:oop

 在此以前須要配置Master節點到Worker的免密登錄由於在Master節點須要啓動全部的Worker節點,全部須要配置Master到Worker的免密登錄 只須要這一個免密配置便可 不須要配置woker--worker  worker-master節點的免密  由於主要是在Master節點上啓動集羣測試

   免密設置具體參考以下:http://blog.csdn.net/leexide/article/details/17252369

1.分別在三臺集羣下建立同名目錄 (目錄必定要一致,方便集羣部署)

本集羣環境建立爲/root/spark目錄

2.使用Xshell將文件上傳至其中某個節點便可(沒有必要上傳所有節點,由於後期還要從新配置)

上傳至某個節點以後,假設上傳到主節點Master節點後

 3.解壓目錄,命令和結構以下

 tar -zxf   spark-1.6.0-bin-hadoop2.6.tar

而後重命名 方便後期部署

mv  spark-1.6.0-bin-hadoop2.6  spark-1.6.0

結構以下:

4.配置參數

進入到配置目錄,路徑爲

/root/spark/spark-1.6.0/conf

後可看見文件以下

咱們須要把template關鍵字去掉 由於是個模板文件 簡單介紹下文件做用:

slaves文件---worker幾點所在目錄

spark-default.conf目錄文件 默認配置文件

spark-env.sh環境配置文件

這幾個是咱們主要用的

更改後的目錄文件格式以下:

配置spark-env.sh

能夠看到集羣配置參數以下,咱們主要配置這些參數

配置完後的截圖以下:

 

 解釋一下參數意義:

SPARK_MASTER_IP=node1  #主節點主機名

SPARK_MASTER_PORT=7077 #主節點和Worker的通訊端口

SPARK_WORKER_CORES=2 # 每一個worker進程能管理兩個核

SPARK_WORKER_MEMORY=2g # 每一個worker進程能管理2g內存

SPARK_MASTER_WEBUI_PORT=8888 # 主節點WEB-UI展現圖  默認端口是8080

SPARK_WORKER_INSTANCES=1 #每一個worker節點可以啓動的worker進程 默認是一個 若是爲2  則每個worker幾點可以啓動2個Worker進程 就這意思

根據這配置 則 Master節點可以管路4core 4g內存(有兩個Worker進程 每個worker進程管理兩個核,2g內存)

 配置slaves文件:配置從節點的ip 或主機名

截圖以下

5.將主節點的配置分發到從節點 同名目錄下

命令以下:

回到spark的主目錄配置文件

 

而後分發到node2  node4節點 這裏命令以下`pwd`即到當前目錄

六、啓動Spark集羣:
    執行安裝包sbin目錄下的start-all.sh腳本
    ./sbin/start-all.sh

 7.查看集羣狀態

jps命令爲jvm的命令與局之一 專門查看java進程

Master節點狀態:

Worker節點狀態:

 

查看WEBUI是否能訪問:

注意關閉Linux的防火牆:具體操做以下

/etc/init.d/iptables status

會獲得一系列信息,說明防火牆開着。

/etc/init.d/iptables stop

永久關閉:

chkconfig --level 35 iptables off

在本機訪問node1:8888(別忘配置host)

 

 至此,集羣搭建成功!

8.測試集羣是否可用

 將主節點中的spark文件同步到客戶端develop節點

在develop節點中提交spark任務 ,因爲本例測試 因此直接提交spark自帶測試用例 計算Pi的值

注意別忘配置Client(develop)客戶端的host 由於要提交任務到Master節點(node1)節點上去運行

便可看見運行狀態

在WebUI也能夠看見

 

 到此集羣測試完畢!!!

 

持續更新中。。。。,歡迎你們關注個人公衆號LHWorld.

相關文章
相關標籤/搜索