1. 程式人生 > >Spark叢集的搭建

Spark叢集的搭建

一、Spark叢集的四種執行模式

1、Local 單機執行,一般用於開發測試。 2、Yarn Spark客戶端直接連線Yarn,不需要額外構建Spark叢集。 3、Standalone 構建一個由Master+Worker構成的Spark叢集,Spark執行在叢集中。 4、Mesos Spark客戶端直接連線Mesos,不需要額外構建Spark叢集。

二、基於Standalone的Spark叢集搭建

1、在node01節點解壓spark-1.6.3-bin-hadoop2.6.tgz安裝包

tar -zxvf spark-1.6.3-bin-hadoop2.6.tgz

2、為了防止spark中的start-all.sh與HDFS中的命令衝突,需要將spark安裝包下sbin目錄中的start-all.sh

修改為start-1.6.3.sh

mv start-all.sh start-1.6.3.sh

3、配置環境變數

export SPARK_HOME=/opt/software/spark-1.6.3
export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin

4、在conf目錄下分別修改slave.templateslavespark-env.templatespark-env.sh

mv slave.template slave

mv spark-env.template spark-env.sh

5、配置slave檔案,確定Worker所在的節點

node02
node03
node04

6、配置spark-env.sh檔案

#主節點的IP
SPARK_MASTER_IP=7077
#主節點的埠號,用來與worker通訊
SPARK_MASTER_PORT=node01
#每一個worker程序所能管理的核數
SPARK_WORKER_CORES=3
#每一個worker程序所能管理的記憶體數
SPARK_WORKER_MEMORY=2G
#每個節點啟動幾個worker
SPARK_WORKER_INSTANCES=1
SPARK_WORKER_DIR=自定義的目錄

注意:

  1. 如果CPU是4核8執行緒,那麼這個核是支援超執行緒的核。
  2. 如果是普通的核,一個核在一個時刻只能處理一個執行緒。
  3. 如果節點有8個core,並且支援超執行緒,此時可以將這個節點看成由16個core組成。

7、將配置好的spark安裝包傳送到各個節點上

scp -r spark-1.6.3 [email protected]:`pwd`
scp -r spark-1.6.3 [email protected]:`pwd`
scp -r spark-1.6.3 [email protected]:`pwd`

8、啟動Spark

start-1.6.3.sh

三、基於Standalone的高可用Spark叢集搭建