一. Spark簡介
Spark是一個通用的並行計算框架,由UCBerkeley的AMP實驗室開發。Spark基於map reduce 算法模式實現的分布式計算,擁有Hadoop MapReduce所具有的優點;但不同於Hadoop MapReduce的是Job中間輸出和結果可以保存在內存中,從而不再需要讀寫HDFS,節省了磁盤IO耗時,性能比Hadoop更快。 所以,相對來說Hadoop更適合做批處理,而Spark更適合做需要反復迭代的機器學習。下面是我在ubuntu14.04中配置Spark的整個流程以及遇到的問題的,一方面當做自己的備忘錄,另一方面也希望能夠給像我一樣初次配置的新手提供一些幫助~╮(╯▽╰)╭
二. 安裝配置
2.1 准備工作
注意:確保你之前已經安裝配置好了hadoop集群(YARN方式),可以參考我的另一篇博文:Linux中安裝配置hadoop集群
我所使用的環境:
ubuntu 14.04 LTS 計算機兩台,一個當作Master,一個作slave。
Scala版本:scala-2.10.6
Hadoop版本:hadoop-2.7.1
Spark版本:spark-1.6.1 (記得下載預編譯版本的)
我的安裝目錄:
Scala:/home/hadoop/spark/scala-2.10.6
Spark:/home/hadoop/spark/spark-1.6.1
Java:/home/javafile/jdk1.7.0_79
2.2 具體安裝步驟
1. 安裝scala
首先,去scala官網下載scala-2.10.6.tgz,解壓到:/home/hadoop/spark目錄下;
tar zxvf scala-2.10.6.tgz
然後,修改:/etc/profile
2. 安裝Spark
同樣,還是先去Spark官網下載:spark-1.6.1-bin-hadoop2.6.tgz,解壓到:/home/hadoop/spark下;
cd /home/hadoop/spark
tar zxvf spark-1.6.1-bin-hadoop2.6.tgz
然後,修改:/etc/profile
3. 配置Spark
01. 修改配置文件spark-env.sh
cd /home/hadoop/spark/spark-1.6.1/conf
cp spark-env.sh.template spark-env.sh
修改spark-env.sh如下:
02. 修改配置文件slaves
在slaves中添加你的slave主機名:我只有一個slave,所以只添加了一個。
03. 配置slave
至此,master節點上的Spark已配置完畢。把master上Spark相關配置copy到slave中。(注意,三台機器spark所在目錄必須一致,因為master會登陸到worker上執行命令,master認為worker的spark路徑與自己一樣)
三. 啟動Spark
3.1 啟動
啟動命令非常簡單:
cd /home/hadoop/spark/spark-1.6.1
sbin/start-all.sh
3.2 驗證Spark是否啟動成功
使用 jps 命令,查看master和slave上的進程:
master:
slave:
進入Spark的Web管理頁面:http://master:8080 (將master替換成你的master主機名即可)
四. 總結
至此,Spark集群的安裝配置就完成了,有什麼不對的地方還請大家指正,一起交流討論~
參考:
http://www.tuicool.com/articles/MbuaUv
http://wuchong.me/blog/2015/04/04/spark-on-yarn-cluster-deploy/
http://www.ibm.com/developerworks/cn/opensource/os-cn-spark-deploy1/index.html