1. 程式人生 > >ubuntu下安裝Spark(單機環境)

ubuntu下安裝Spark(單機環境)

安裝Scala

首先在官網中下載好scala,然後解壓,並且配置環境變數

tar -avxf scala-2.12.1.tgz
sudo mv scala-2.12.1 /usr/lib/
vim ~/.bashrc 
source ~/.bashrc
scala -version#如果安裝成功,就可以檢視scala的版本號

備註,我的~/.bashrc中

export JAVA_HOME=/usr/lib/jvm/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export
PATH=${JAVA_HOME}/bin:$PATH export SCALA_HOME=/usr/lib/scala-2.12.1 export PATH=$PATH:${SCALA_HOME}/bin

安裝spark

首先從官網上面下載好安裝包

tar spark-2.1.0-bin-hadoop2.7.tgz
sudo mv spark-2.1.0-bin-hadoop2.7 /usr/lib/
vim ~/.bashrc 
source ~/.bashrc 
#為當前使用者賦予Spark目錄許可權
sudo chown -hR username /usr/lib/spark-2.1.0-bin-hadoop2.7
/ cd spark-2.1.0-bin-hadoop2.7/ cd bin/ ls -al pyspark

利用Spark自帶的Python shell。使用PySpark shell, 在Spark解壓的原始碼路徑下,進入到bin目錄下,執行pyspark
在提示符下,依次輸入下面的命令

>>> lines = sc.textFile("/usr/lib/spark-2.1.0-bin-hadoop2.7/README.md")
>>> lines.count()
>>> lines.first()

任選一個文字文件(跟字尾名無關),進行字數統計,然後還可以得到此文字文件中第一行文字。注意文字路徑一定要對,可以是相對路徑,也可以是絕對路徑。
這裡寫圖片描述


當然,Spark為其他程式語言也提供了介面,如通過Scala到Spark的視窗是spark-shell。同樣的,R語言對應的是sparkR。
還可以通過瀏覽器檢視spark執行情況,進入到spark安裝目錄下的sbin子目錄

./start-all.sh

可在瀏覽器中輸入http://localhost:8080瀏覽當前節點執行情況。
這裡寫圖片描述
看到ubuntu中會有這個資訊

localhost: failed to launch: nice -n 0 /usr/lib/spark-2.1.0-bin-hadoop2.7/bin/spark-class org.apache.spark.deploy.worker.Worker --webui-port 8081 spark://yangxiaohuan-HP-Pavilion-g4-Notebook-PC:7077
localhost:   JAVA_HOME is not set

提示沒有設定JAVA_HOME,這時候需要修改sbin/spark-config.sh,在檔案最後新增上

export JAVA_HOME=/usr/lib/jvm/java

輸入./stop-all.sh結束Spark,再次啟動Spark,則不會看到“localhost: JAVA_HOME is not set”這個提示資訊了。並且開啟瀏覽器也可以看到本機的詳情了。
這裡寫圖片描述

可以檢視Spark安裝目錄下的README.md檔案,這裡面也介紹了Spark的最基本的例子。

備註,我的~/.bashrc

export JAVA_HOME=/usr/lib/jvm/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

export SCALA_HOME=/usr/lib/scala-2.12.1
export PATH=$PATH:${SCALA_HOME}/bin

export SPARK_HOME=/usr/lib/spark-2.1.0-bin-hadoop2.7
export PATH=$PATH:${SPARK_HOME}/bin

摘抄於網頁1
注: 使用ssh登陸shell的時候,系統不會自動呼叫.bashrc檔案, 只是會自動的讀取 如下三個檔案:
~/.bash_profile , ~/.bash_login , ~/.profile 裡面其中一個而已。

因此,如果想讓系統每次登陸時候自動讀取檔案,可以將.bashrc檔案改為.bash_profile
mv .bashrc .bash_profile