? ? ?? 最近想要學(xué)習(xí)spark,首先需要搭建spark的環(huán)境,之前零零散散也接觸過一些spark的東西,但是都沒有記錄下來。剛好新安裝了一個ubuntu18.04系統(tǒng),想在此系統(tǒng)上進(jìn)行環(huán)境搭建,趁機(jī)記錄一下過程。
? ? ? ? 訪問spark的官網(wǎng),閱讀spark的安裝過程,發(fā)現(xiàn)spark需要使用到hadoop,java JDK等,當(dāng)然官網(wǎng)也提供了Hadoop free的版本。本文還是從安裝java JDK開始,逐步完成spark的單機(jī)安裝。
1. java JDK8的安裝
? ? ? ? 前往Oracle官網(wǎng)下載JDK8,選擇適合自己操作系統(tǒng)的版本,此處選擇Linux 64
????????https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

? ?? 下載之后的包放到某個目錄下,此處放在/opt/java目錄
? ?? 使用命令:tar -zxvf jdk-8u201-linux-x64.tar.gz 解壓縮

????????????
? ? 修改配置文件/etc/profile,使用命令:sudo vim /etc/profile
????在文件末尾增加以下內(nèi)容(具體路徑依據(jù)環(huán)境而定):
????export JAVA_HOME=/opt/java/jdk1.8.0_201
????export JRE_HOME=/opt/java/jdk1.8.0_201/jre
????export PATH=${JAVA_HOME}/bin:$PATH
? ? 保存退出,在終端界面使用命令: source /etc/profile 使配置文件生效。
? ? 使用java -version驗證安裝是否成功,以下回顯表明安裝成功了。

? ? 2. 安裝Hadoop
? ? ? ? ? ? 前往官網(wǎng)https://hadoop.apache.org/releases.html下載hadoop,此處選擇版本2.7.7
? ? ? ? ? ? hadoop需要ssh免密登陸等功能,因此先安裝ssh。
? ? ? ? ? ? 使用命令:sudo apt-get install ssh
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? sudo apt-get install rsync
? ? ? ? ? ? 將下載的包放到某個目錄下,此處放在/opt/hadoop
? ? ? ? ? ? 使用命令:tar -zxvf hadoop-2.7.7.tar.gz 進(jìn)行解壓縮

? ? ? ? ? ? 此處選擇偽分布式的安裝方式(Pseudo-Distributed)
? ? ? ? ? ? 修改解壓后的目錄下的子目錄文件 etc/hadoop/hadoop-env.sh,將JAVA_HOME路徑修改為本機(jī)JAVA_HOME的路徑

? ? ? ? 配置hadoop的環(huán)境變量
? ? ? ? 使用命令:sudo vim /etc/profile 添加以下內(nèi)容:
? ? ? ? export HADOOP_HOME=/opt/hadoop/hadoop-2.7.7
? ? ? ? 修改PATH變量,添加hadoop的bin目錄進(jìn)去
????????export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH
?????????修改解壓后的目錄下的子目錄文件 etc/hadoop/core-site.xml

????????修改解壓后的目錄下的子目錄文件 etc/hadoop/hdfs-site.xml

設(shè)置免密登陸
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

? ? 使用命令:ssh localhost 驗證是否成功,如果不需要輸入密碼即可登陸說明成功了。

接下來需要驗證Hadoop的安裝
a. 格式化文件系統(tǒng)
? ? bin/hdfs namenode -format

b. 啟動Namenode和Datanode

c.瀏覽器訪問http://localhost:50070

3. 安裝spark
? ? 前往spark官網(wǎng)下載spark
????https://spark.apache.org/downloads.html
? ? 此處選擇版本如下:

? ? 將spark放到某個目錄下,此處放在/opt/spark
? ? 使用命令:tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz 解壓縮即可

?? 使用命令: ./bin/run-example SparkPi 10 測試spark的安裝
????

? ? 配置環(huán)境變量SPARK_HOME
? ? 在/etc/profile中添加
? ? export SPARK_HOME=/opt/spark/spark-2.4.0-bin-hadoop2.7
????export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${SPARK_HOME}/bin:$PATH
?4. 安裝pyspark
? ? pyspark的安裝比較簡單,直接使用pip install pyspark即可


5. 安裝zeppelin
Zeppelin是一個基于Web的notebook,提供交互數(shù)據(jù)分析和可視化。后臺支持接入多種數(shù)據(jù)處理引擎,如spark,hive等。支持多種語言: Scala(Apache Spark)、Python(Apache Spark)、SparkSQL、 Hive、 Markdown、Shell等。
前往官網(wǎng)下載zeppelin
http://www.apache.org/dyn/closer.cgi/zeppelin/zeppelin-0.8.1/zeppelin-0.8.1-bin-all.tgz
放到某個目錄下,此處放在/opt/zeppelin
使用命令:tar -zxvf zeppelin-0.8.1-bin-all.tgz進(jìn)行解壓

編輯配置文件conf/zeppelin-env.sh,添加環(huán)境變量

啟動zeppelin
bin/zeppelin-daemon.sh start
訪問http://localhost:8080

? ? 在zeppelin中配置spark解釋器后,即可在zeppelin中創(chuàng)建notebook編寫代碼。