官术网_书友最值得收藏!

2.1 Spark的簡易安裝

搭建Spark之前需要讀者先安裝好Hadoop,由于這個環境用于本書學習,這里建議部署單機或者偽分布式的Hadoop。另外,關于Hadoop的安裝這里不予以介紹,大家可自行搜集Hadoop安裝教程,確保HDFS能正常使用即可。Spark 2.2.0官網中明確表明了:Spark 2.2.0不支持Java 7、Python 2.6以及Hadoop 2.6.5之前的版本。筆者使用的系統是CentOS 7、Java 8、Hadoop 2.7.3,這里配的Spark是單機模式。

 下載Spark安裝包。

進入Spark的下載頁面https://spark.apache.org/downloads.html,如圖2-1所示。

圖2-1

按圖片上的指示將安裝包下載解壓到你喜歡的地方即可。

 編輯解壓之后的Spark文件夾中的conf文件夾下的spark-env.sh和slaves文件。

什么?沒有這兩個文件?別擔心,看到conf文件夾下的spark-env.sh.template、slaves.template這兩個文件了嗎?這是模板文件,我們將其復制并改名即可,參考如下命令:

然后編輯spark-env.sh文件,如圖2-2所示。

圖2-2

為什么要配置SPARK_DIST_CLASSPATH這個變量呢?

因為我們剛剛選擇的Spark版本是Hadoop Free版本,Spark使用Hadoop的HDFS和YARN庫。Spark自從1.4版本之后就允許我們將Spark和任意版本的Hadoop連接起來(雖說是任意版本但Spark對Hadoop版本還是有一定要求的。比如Spark 2.2.0官方文檔的overview中有這么一句話:Note that support for Java 7, Python 2.6 and old Hadoop versions before 2.6.5 were removed as of Spark 2.2.0),但是需要我們配置SPARK_DIST_CLASSPATH這個變量。詳情請看圖2-3。

圖2-3

編輯slaves文件:

在末尾加上本機的IP,比如127.0.0.1。

 啟動Spark,運行spark-shell。

運行spark根目錄下sbin文件夾中的start-all.sh,如圖2-4所示。

圖2-4

運行firefox localhost:8080 &命令即可查看Web UI(不同端口的Web UI作用不一樣),如圖2-5、圖2-6所示。(建議讀者們多了解一下Web UI)

圖2-5

圖2-6

這時如果在終端中進入spark-shell運行則會報錯,因為需要先啟動Hadoop的HDFS再啟動spark-shell。啟動完HDFS之后,我們來運行一下spark-shell。

圖2-6是Spark Shell的啟動界面。我們成功地進入了spark-shell,注意紅方框的內容。

(1)此時4040端口的Web UI(localhost:4040)可以訪問了(Spark Shell運行時和Spark作業運行時該UI才能正常訪問),讀者可以去看看,熟悉一下Web UI的界面。

(2)spark-shell啟動的時候會自動創建SparkContext以及SparkSession的實例,變量名分別為sc和spark,可以在spark-shell中直接使用。

輸入“:help”可以查看spark-shell的命令幫助,如圖2-7所示。

圖2-7

輸入“:quit”可以退出spark-shell。

建議多在spark-shell中練習。

 運行SparkPI實例程序,驗證Spark是否能正常運行(見圖2-8)。

圖2-8

在輸出日志的底部可以看到運行的結果,如圖2-9所示。

圖2-9

至此,Spark的簡易搭建就完成了。

主站蜘蛛池模板: 昌图县| 鄂尔多斯市| 珲春市| 阿拉尔市| 承德市| 龙江县| 屏山县| 广昌县| 长丰县| 紫金县| 崇左市| 句容市| 会同县| 兴化市| 竹山县| 永修县| 延长县| 杂多县| 河东区| 乳源| 大邑县| 新民市| 当涂县| 措勤县| 岢岚县| 郯城县| 绥江县| 军事| 松溪县| 防城港市| 新绛县| 武义县| 孟州市| 师宗县| 原平市| 灌云县| 沂水县| 泾川县| 白水县| 双柏县| 金堂县|