天天看點

Spark on YARN的部署

Spark on YARN的原理就是依靠yarn來排程Spark,比預設的Spark運作模式性能要好的多,前提是首先部署好hadoop HDFS并且運作在yarn上,然後就可以開始部署spark on yarn了,假設現在準備環境已經部署完畢,這裡是在CDH 環境下部署Spark

  除了上面的環境準備,安裝Spark前,還應該保證Scala正常安裝,基于Scala的情況下,就可以開始部署Spark了,

  首先還是解壓Spark,安裝位置就是/bigdata/spark

tar -xvzf spark-1.6.2-bin-hadoop2.6.tgz
mv spark-1.6.2-bin-hadoop2.6 /bigdata/
ln -s /bigdata/spark-1.6.2-bin-hadoop2.6 /bigdata/spark
cd /bigdata/spark      

  這裡為了友善更新,使用/bigdata/sprak指向具體的spark目錄,接下來可以配置環境變量,以友善随時輸入指令來送出相關程式,直接在環境變量配置檔案的PATH變量最後追加 :/bigdata/spark/bin 即可配置,配置完成後source一下即可生效

  然後同樣是處理配置檔案:

cp conf/spark-env.sh.template conf/spark-env.sh
cp conf/slaves.template conf/slaves      

  這時slaves不用做任何修改預設即可,如果有多台spark,也可以配置除master之外的主機名清單,這個不用配置也可以

  執行 vim conf/spark-env.sh 編輯配置檔案,在最後追加如下配置:

Spark on YARN的部署
# JDK目錄
export JAVA_HOME=/usr/local/java/jdk1.8.0_73
# Scala目錄
export SCALA_HOME=/usr/local/scala/scala-2.11.8
# Master IP位址
export SPARK_MASTER_IP=192.168.0.187
# Worker運作記憶體
export SPARK_WORKER_MEMORY=2G
# hadoop配置檔案目錄 cdh中預設是如下目錄 這個hadoop必須運作在yarn上 spark才能直接通過此配置檔案目錄通過yarn進行排程
export HADOOP_CONF_DIR=/etc/hadoop/conf
# spark master端口 預設7077 下面是可選的
export SPARK_MASTER_PORT=7077
# 此項預設 也是可選的
export MASTER=spark://${SPARK_MASTER_IP}:${SPARK_MASTER_PORT}      
Spark on YARN的部署

  配置完這些項之後,spark就可以跑在yarn上了,到這裡就部署完了,也沒必要啟動spark的master和slaves服務,因為是靠yarn進行任務排程,是以直接送出任務即可

繼續閱讀