1. 程式人生 > >Spark 安裝配置簡單測試

Spark 安裝配置簡單測試

簡介

Spark是UC Berkeley AMP lab (加州大學伯克利分校的AMP實驗室)所開源的類Hadoop MapReduce的通用並行框架,Spark,擁有Hadoop MapReduce所具有的優點;但不同於MapReduce的是Job中間輸出結果可以儲存在記憶體中,從而不再需要讀寫HDFS,因此Spark能更好地適用於資料探勘與機器學習等需要迭代的MapReduce的演算法。
Spark 是一種與 Hadoop 相似的開源叢集計算環境,但是兩者之間還存在一些不同之處,這些有用的不同之處使 Spark 在某些工作負載方面表現得更加優越,換句話說,Spark 啟用了記憶體分佈資料集,除了能夠提供互動式查詢外,它還可以優化迭代工作負載。
Spark 是在 Scala 語言中實現的,它將 Scala 用作其應用程式框架。與 Hadoop 不同,Spark 和 Scala 能夠緊密整合,其中的 Scala 可以像操作本地集合物件一樣輕鬆地操作分散式資料集。
儘管建立 Spark 是為了支援分散式資料集上的迭代作業,但是實際上它是對 Hadoop 的補充,可以在 Hadoop 檔案系統中並行執行。通過名為 Mesos 的第三方叢集框架可以支援此行為。Spark 由加州大學伯克利分校 AMP 實驗室 (Algorithms, Machines, and People Lab) 開發,可用來構建大型的、低延遲的資料分析應用程式。
來源:百度百科

Hadoop 和 Spark 的異同

Hadoop安裝

系統環境

Centos 7 伺服器
當前使用者 hadoop

Scala下載安裝和配置

wget http://downloads.lightbend.com/scala/2.12.0/scala-2.12.0.tgz
tar zxvf scala-2.12.0.tgz
mv scala-2.12.0 ~/scala

Scala環境變數設定

vim ~/.bashrc

增加

export SCALA_HOME=/home/hadoop/scala/bin
export PATH=$PATH:$SCALA_HOME

Spark下載

wget http://archive.apache.org/dist/spark/spark-2.0.2/spark-2.0.2-bin-without-hadoop.tgz
tar zxvf spark-2.0.2-bin-without-hadoop.tgz

Spark安裝

mv spark-2.0.2-bin-without-hadoop ~/spark

Spark配置環境變數

vim ~/.bashrc

加入

export SPARK_HOME=/home/hadoop/spark/bin
export PATH=$PATH:$SPARK_HOME

應用環境變數

. ~/.bashrc

配置

cp -rf /home/hadoop/spark/conf/log4j.properties.template /home/hadoop/spark/conf/log4j.properties
cp -rf /home/hadoop/spark/conf/spark-env.sh.template /home/hadoop/spark/conf/spark-env.sh

修改日誌級別

vim /home/hadoop/spark/conf/log4j.properties

修改為

log4j.rootCategory=WARN, console

編輯 spark-env.sh檔案

vim /home/hadoop/spark/conf/spark-env.sh

最後一行加入:

export SPARK_DIST_CLASSPATH=$(/home/hadoop/hadoop/bin/hadoop classpath)

說明:hadoop 的執行檔案

測試

即計算 π 的近似值

/home/hadoop/spark/bin/run-example SparkPi 2>&1 | grep "Pi is roughly"

更多設定請看