Spark on Yarn 環境搭建

weixin_34124651發表於2017-06-22

本文記錄Spark on Yarn的叢集環境的搭建,並通過通過SparkPi例項程式來測試叢集。在搭建本叢集之前必須先搭建好Hadoop叢集,搭建Hadoop叢集請參考:Hadoop叢集環境搭建(三臺).

主要內容:

  1. 安裝Spark
  2. 執行SparkPi

1.安裝Spark

1.1.下載

https://spark.apache.org/downloads.html

1185917-2105a5c1101a543c.png
下載

這裡注意版本,我的hadoop版本是2.7.3,那我下載2.1.1,而Spark2.1.1依賴的Scala的2.11,所以後面用到Scala程式設計時注意Scala的版本。

1.2.解壓

tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz -C /opt/soft

1.3.修改配置檔案

進入 spark-2.1.1-bin-hadoop2.7/conf下

mv spark-env.sh.template spark-env.sh
vi spark-env.sh

在spark-env.sh下加入如下配置

# Hadoop 的配置檔案目錄
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
# YARN 的配置檔案目錄
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
# SPARK 的目錄
export SPARK_HOME=/opt/soft/spark-2.1.1-bin-hadoop2.7
# SPARK 執行檔案目錄
export PATH=$SPARK_HOME/bin:$PATH

複製/opt/soft/spark-2.1.1-bin-hadoop2.7 到其它主機

scp -r /opt/soft/spark-2.1.1-bin-hadoop2.7/ hadoop2:/opt/soft
scp -r /opt/soft/spark-2.1.1-bin-hadoop2.7/ hadoop3:/opt/soft

將 /opt/soft/spark-2.1.1-bin-hadoop2.7/ 的許可權賦給hadoop使用者(三臺主機都要)

chown -R hadoop:cloud /opt/soft/spark-2.1.1-bin-hadoop2.7/

1.4.啟動hadoop叢集(hadoop使用者)

進入hadoop的目錄執行如下命令

./sbin/start-dfs.sh
./sbin/start-yarn.sh
1185917-a5f551c045b74442.png
Paste_Image.png

可以看到hdfs和yarn的程式都已經啟動成功了。

2.執行SparkPi

進入/opt/soft/spark-2.1.1-bin-hadoop2.7/目錄下

./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
--driver-memory 1G \
--num-executors 3 \
--executor-memory 1G \
--executor-cores 1 \
./examples/jars/spark-examples_2.11-2.1.1.jar 100
1185917-22589c8a990e626c.png

如果看到控制檯出現這個,說明執行成功。

我們可以根據圖中的tracking URL進入yarn的管理介面檢視執行日誌。

http://hadoop1:8088/proxy/application_1498145157994_0002/

1185917-173402dee14f334e.png
1185917-978f48368e46368e.png

執行結果如下:

Pi is roughly 3.1415423141542314

至此已經完成的Spark on Yarn 的環境搭建,並通過測試SparkPi的執行,說明我們的環境沒有問題了。

相關文章