Spark的安裝和配置

Spark簡介

Apache Spark 是專為大規(guī)模數(shù)據(jù)處理而設(shè)計(jì)的快速通用的計(jì)算引擎。
Spark最初作為一個(gè)研究項(xiàng)目,誕生于加州大學(xué)伯克利分校AMP實(shí)驗(yàn)室,主要原因是AMP實(shí)驗(yàn)室的研究人員發(fā)現(xiàn)在機(jī)器學(xué)習(xí)迭代算法場(chǎng)景下,Hadoop MapReduce的效率很低。為了迭代算法和交互式查詢兩種典型的場(chǎng)景,于是Spark應(yīng)運(yùn)而生。
Spark剛誕生時(shí),常常被稱為內(nèi)存計(jì)算,主要原因是在典型應(yīng)用中,Spark讀取HDFS中的文件,加載到內(nèi)存,在內(nèi)存中使用彈性分布式數(shù)據(jù)集(Resilient Distributed Dataset,RDD)來組織數(shù)據(jù)。RDD可以重用,支持重復(fù)訪問,在機(jī)器學(xué)習(xí)的各個(gè)迭代中它都會(huì)駐留在內(nèi)存,這樣可以顯著的提升性能。即便是必須使用磁盤進(jìn)行復(fù)雜計(jì)算的場(chǎng)景,Spark也常常比Hadoop MapReduce更加高效。
Saprk是一個(gè)通用計(jì)算框架,包含了特定場(chǎng)景下的計(jì)算庫:Streaming、SQL、MLlib、Graphx等,除了支持常見的MapReduce范式,還能夠支持圖計(jì)算、流式計(jì)算等復(fù)雜計(jì)算場(chǎng)景,在很大程度上彌補(bǔ)了Hadoop的不足。

Spark分布式安裝部署

安裝Scala

首先在集群中的主節(jié)點(diǎn)服務(wù)器hadoop-1中進(jìn)行安裝配置,Scala安裝包可以到官方網(wǎng)站https://www.scala-lang.org/進(jìn)行下載。
使用Xftp將Scala和Spark安裝包上傳到hadoop-1的/usr目錄下:

Spark安裝01.png

安裝Scala,進(jìn)入/user目錄,使用tar命令將壓縮包進(jìn)行解壓,執(zhí)行命令:

# tar zxvf scala-2.12.2.tgz
Spark安裝02.png

解壓完成后會(huì)在/usr目錄下生成scala-2.12.2目錄:


Spark安裝03.png

使用vim編輯環(huán)境變量:

# vim /etc/profile

新增內(nèi)容如下:

export SCALA_HOME=/usr/scala-2.12.2
export PATH=$SCALA_HOME/bin:$PATH
Spark安裝04.png

保存退出,,執(zhí)行命令使修改生效:

# source /etc/profile

執(zhí)行以下命令查看安裝是否成功:

# scala -version
Spark安裝05.png

顯示版本信息則安裝成功,hadoop-2和hadoop-3節(jié)點(diǎn)主機(jī)環(huán)境變量做相同配置。

安裝Spark

Spark安裝包可以到官方網(wǎng)站http://spark.apache.org/進(jìn)行下載。
安裝Spark,進(jìn)入/user目錄,使用tar命令將壓縮包進(jìn)行解壓,執(zhí)行命令:

# tar zxvf spark-2.4.4-bin-hadoop2.7.tgz
Spark安裝06.png

解壓完成后會(huì)在/usr目錄下生成spark-2.4.4-bin-hadoop2.7目錄:


Spark安裝07.png

使用vim編輯環(huán)境變量:

# vim /etc/profile

新增內(nèi)容如下:

export SPARK_HOME=/usr/spark-2.4.4-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH
Spark安裝08.png

保存退出,,執(zhí)行命令使修改生效:

# source /etc/profile

Spark配置

進(jìn)入Spark的配置文件目錄,并查看該目錄下的文件:

# cd /usr/spark-2.4.4-bin-hadoop2.7/conf/
# ll
Spark安裝09.png

執(zhí)行以下命令,創(chuàng)建spark-env.sh文件和slaves文件:

# cp spark-env.sh.template spark-env.sh
# cp slaves.template slaves
Spark安裝10.png

使用vim編輯配置文件spark-env.sh:

# vim spark-env.sh

新增以下內(nèi)容:

export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export HADOOP_HOME=/usr/hadoop-2.7.7
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SCALA_HOME=/usr/scala-2.12.2
export SPARK_HOME=/usr/spark-2.4.4-bin-hadoop2.7
export SPARK_MASTER_IP=hadoop-1
export SPARK_EXECUTOR_MEMORY=1G
Spark安裝11.png

保存退出,使用vim編輯配置文件slaves文件:

# vim slaves

新增以下內(nèi)容:

hadoop-2
hadoop-3
Spark安裝12.png

保存退出。

部署

使用scp命令將Scala和Spark分別遠(yuǎn)程拷貝到hadoop-2和hadoop-3節(jié)點(diǎn)主機(jī)中:

# scp -r /usr/scala-2.12.2 hadoop-2:/usr/
# scp -r /usr/scala-2.12.2 hadoop-3:/usr/
# scp -r /usr/spark-2.4.4-bin-hadoop2.7 hadoop-2:/usr/
# scp -r /usr/spark-2.4.4-bin-hadoop2.7 hadoop-3:/usr/

在hadoop-2和hadoop-3兩臺(tái)主機(jī)的/usr目錄下可以看到已經(jīng)拷貝成功:


Spark安裝15.png

啟動(dòng)Spark

啟動(dòng)Spark首先要保證Hadoop集群在運(yùn)行中。
在hadoop-1主節(jié)點(diǎn)中進(jìn)行啟動(dòng),進(jìn)入Spark的sbin目錄下,執(zhí)行啟動(dòng)命令:

# cd /usr/spark-2.4.4-bin-hadoop2.7/sbin/
# ./start-all.sh

啟動(dòng)完成后,使用jps命令可以查看啟動(dòng)的進(jìn)程。
hadoop-1主節(jié)點(diǎn)為Master進(jìn)程:

Spark安裝17.png

hadoop-2和hadoop-3節(jié)點(diǎn)為Work進(jìn)程:
Spark安裝18.png

Spark安裝19.png

瀏覽器訪問:http://192.168.44.128:8080/
Spark安裝16.png


此處若在啟動(dòng)Spark前,已經(jīng)事先將Hadoop、ZooKeeper、Hbase等啟動(dòng)完成,則8080端口會(huì)被ZooKeeper占用,這是由于ZooKeeper 3.5版本新特性決定的,此時(shí)Spark啟動(dòng)端口會(huì)被換成8081,查看Spark Master日志文件內(nèi)容,可以看到該端口變換信息。
使用spark-shell命令,可以與Spark進(jìn)行交互:
Spark安裝20.png

瀏覽器訪問:http://192.168.44.128:4040/jobs/,可以在Web頁面找那個(gè)查看Job情況:
Spark安裝21.png

至此Spark的安裝配置完成。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 摘要:大數(shù)據(jù)門檻較高,僅僅環(huán)境的搭建可能就要耗費(fèi)我們大量的精力,本文總結(jié)了作者是如何搭建大數(shù)據(jù)環(huán)境的(單機(jī)版和集群...
    楊赟快跑閱讀 15,193評(píng)論 3 65
  • --------"道路是曲折的,前途是光明的。"最近又涉及到了hadoop以及spark的安裝,之前課題設(shè)計(jì)中有要...
    九七學(xué)姐閱讀 3,224評(píng)論 3 5
  • Scala語法 至于scala語法而言,大致上和Java的語法類似,增加了一些函數(shù)式編程,具體語法可以參考Scal...
    卡卡xx閱讀 3,142評(píng)論 0 1
  • 每天日更,會(huì)消除我的焦慮和孤獨(dú)感嗎?跟他見面確實(shí)是把達(dá)利摩斯劍,說不定什么時(shí)候他的觀點(diǎn)就可以讓我自卑乃至無地自容,...
    谷氣質(zhì)閱讀 175評(píng)論 0 0
  • 這是一條沒有同伴的路 它注定孤單 追逐著夢(mèng)的少年 不要害怕孤單 至少你還有 這遍地的月光陪伴
    南邊的鯨閱讀 196評(píng)論 0 0

友情鏈接更多精彩內(nèi)容