Spark Standalone模式 高可用部署

 

本文使用Spark的版本爲:spark-2.4.0-bin-hadoop2.7.tgz。html

spark的集羣採用3臺機器進行搭建,機器分別是server01,server02,server03。java

其中:server01,server02設置爲Master,server01,server02,server03爲Worker。web

1.Sparkapache

下載地址:瀏覽器

http://spark.apache.org/downloads.htmlapp

選擇對應的版本進行下載就好,我這裏下載的版本是:spark-2.4.0-bin-hadoop2.7.tgz。jvm

2.上傳及解壓oop

2.1 下載到本地後,上傳到Linux的虛擬機上url

scp spark-2.4.0-bin-hadoop2.7.tgz hadoop@server01:/hadoop

 

2.2 解壓spa

tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz

2.3 重命名

mv spark-2.4.0-bin-hadoop2.7 spark

3.配置環境

進入spark/conf目錄

3.1 複製配置文件

cp slaves.template slaves

cp spark-env.sh.template spark-env.sh

3.2 修改slaves配置文件

spark集羣的worker conf配置 slaves

server01

server02

server03

 

 

 

 

3.3 修改spark-env.sh配置文件

# java環境變量

export JAVA_HOME=/usr/local/java

#spark home

export SPARK_HOME=/export/opt/spark/spark2.4.0

# spark集羣master進程主機host

export SPARK_MASTER_HOST=server01

# 配置zk 此處能夠獨立配置zk list,逗號分隔

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=xxx.xxx.xxx.xxx:2181, xxx.xxx.xxx.xxx:2181……"

 

以下圖

 

3.4 下發到server02和server03機器上

scp -r /hadoop/spark hadoop@server02:/hadoop

scp -r /hadoop/spark hadoop@server03:/hadoop

 

3.5 修改server02機器上的spark-env.sh的SPARK_MASTER_HOST參數信息

# 增長備用master主機,改成server02,將本身設置爲master(備用)

export SPARK_MASTER_HOST=server02

3.6 配置環境變量

給server01,server02,server03機器上配置spark的環境變量

export SPARK_HOME=/export/opt/spark/spark2.4.0

export PATH=$PATH:${SPARK_HOME}/bin:${SPARK_HOME}/sbin

#使配置環境生效

source /etc/profile

 

4. 啓動Spark集羣

在server01機器上,進入spark目錄

4.1 分別啓動master和slaves進程

# 啓動master進程

sbin/start-master.sh

# 啓動3個worker進程,也能夠每一個機器獨立啓動須要輸入兩個master地址

sbin/start-slaves.sh

 

jps查看進程1有既有master又有Worker,2,3只有Worker

 

4.2 直接使用start-all.sh啓動

sbin/start-all.sh

4.3 手動啓動server02機器上的master進程

進入spark目錄

sbin/start-master.sh

咱們能夠使用stop-all.sh殺死spark的進程

sbin/stop-all.sh

web頁面展現

在瀏覽器中輸入

server01:8080

Status:ALIVE 說明master爲主Master

server02:8080

 

 總結

  部署完成後能夠嘗試kill掉1的master,而後須要等幾分鐘後會重啓備用master,此時備用切換爲主。

  另外若是application被殺掉或者jvm出現問題,還能夠經過增長參數 --supervise(須要安裝,pip install supervise)能夠從新啓動application。

相關文章
相關標籤/搜索