Spark叢集的搭建
阿新 • • 發佈:2018-12-21
一、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.template
為slave
,spark-env.template
為spark-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=自定義的目錄
注意:
- 如果CPU是4核8執行緒,那麼這個核是支援超執行緒的核。
- 如果是普通的核,一個核在一個時刻只能處理一個執行緒。
- 如果節點有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