以下是老男孩教育整理的Spark入門及安裝與配置,轉載請註明出處:http://www.oldboyedu.com
Hadoop
Hadoop是分佈式計算引擎,含有四大模塊,common、hdfs、mapreduce和yarn。
併發和並行
併發通常指針對單個節點的應對多個請求的能力,是單一節點上計算能力的衡量,並行通常針對集羣來講,是利用多個節點進行分佈式協同作業,我們稱之爲並行計算。
Spark
快如閃電集羣計算引擎,應用於大規模數據處理快速通用引擎,使用內存計算。
1.Speed
內存計算速度是hadoop的100倍以上,硬盤計算是Hadoop是10倍以上,Spark使用高級DAG(Direct acycle graph)執行引擎。
2.易於使用
提供了80+高級算子,能夠輕鬆構建並行應用,也可以使用scala,python,r的shell進行交互式操作。
3.通用性
對SQL、流計算、複雜分析可進行組合應用。spark提供了類庫棧,包括SQL、MLlib、graphx和Spark streaming。
4.架構
包括: Spark core、 Spark SQL、 Spark streaming、 Spark mllib和 Spark graphx
5. 到處運行
Spark可以運行在hadoop、mesos、standalone和clound上,同時可以訪問多種數據源,如hdfs、hbase、hive、Cassandra、 S3等。
spark集羣部署模式
1.local
不需要啓動任何Spark進程,使用一個JVM運行Spark所有組件,主要用於調試和測試。
2.standalone
獨立模式,需要安裝Spark集羣,分別啓動master節點和worker節點,master是管理節點,worker是task的執行節點。
3.yarn
不需要單獨部署Spark集羣,可以說根本沒有Spark集羣的概念。
該模式下,使用的完全是Hadoop的Job執行流程,只是到末端啓動任務時使用Spark的Task執行發生,相當於Spark是一個Hadoop的Job,將Spark的所有jar包打入job運行的依賴包中,流程按照hadoop的執行流程來進行。
安裝spark
1.下載spark-2.1.0-bin-hadoop2.7.tgz
以下是Spark的官方下載地址:
https://www.apache.org/dyn/closer.lua/spark/spark-2.3.0/spark-2.3.0-bin-hadoop2.7.tgz
2.解壓文件到/soft目錄下
$>tar -xzvf spark-2.3.0-bin-hadoop2.7.tgz -C /soft
3.創建軟連接
創建軟連接後,編譯各種文件配置以及後期進行版本升級和替換非常方便。
$>cd /soft
$>ln -s spark-2.3.0-bin-hadoop2.7 spark
4.配置環境變量
編輯/etc/profile環境變量文件:
$>sudo nano /etc/profile
在文件末尾添加如下內容:
...
SPARK_HOME=/soft/spark
PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
注意:將Spark的bin目錄和sbin目錄都添加到環境變量path中,而且Linux使用“:”作爲分隔符。
5.環境變量生效
$>source /etc/profile
6.進入Spark-shell命令行
$>/soft/spark/spark-shell
#進入scala命令提示符
$scala>
7.體驗Spark-shell
因爲Spark使用的scala語言,因此同Scala的使用完全一致。
$scala>1 + 1
#輸出結果