Spark 集群體系結構    ---> ==> Spark安裝與部署          ..."/>
溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spark 環(huán)境部署

發(fā)布時間:2020-07-09 07:27:33 來源:網(wǎng)絡 閱讀:2451 作者:菜鳥的征程 欄目:大數(shù)據(jù)

==> Spark 集群體系結構

    ---> Spark 環(huán)境部署

==> Spark安裝與部署  

        Spark 的安裝部署有四種模式:Standalone, YARN, Mesos, Amazon EC2, 這里主要講解Standalone 方式

    ---> 環(huán)境部署準備工作:(此處不作詳細講解)

        ---- 四臺 Linux 主機(虛擬機)

        ---- 修改主機名

        ---- 免密碼登陸

        ---- 安裝 JDK 環(huán)境

   ---> Spark Standalone 偽分布的部署

wget  
tar zxf spark-2.2.1-bin-hadoop2.7.tgz -C /app
cd /app/spark-2.2.1-bin-hadoop2.7/conf
cp spark-env.sh.template spark-env.sh
cp slaves.template slaves
-----------------------------------------------------------------------------------
vim spark-env.sh
    export JAVA_HOME=/app/java/jdk1.8.0_102
    export SPARK_MASTER_HOST=bigdata0
    export SPARK_MASTER_PORT=7077
-----------------------------------------------------------------------------------
vim slaves
    bigdata0


    ---> Spark Standalone 全分布的部署

        ---- 環(huán)境架構:

Masterbigdata1

Workerbigdata2bigdata3bigdata4


        ---- 主節(jié)點部署:

wget http://mirrors.hust.edu.cn/apache/spark/spark-2.2.1/spark-2.2.1-bin-hadoop2.7.tgz 
tar zxf spark-2.2.1-bin-hadoop2.7.tgz -C /app
cd /app/spark-2.2.1-bin-hadoop2.7/conf
cp spark-env.sh.template spark-env.sh
cp slaves.template slaves
-----------------------------------------------------------------------------------
vim spark-env.sh
    export JAVA_HOME=/app/java/jdk1.8.0_102
    export SPARK_MASTER_HOST=bigdata0
    export SPARK_MASTER_PORT=7077
-----------------------------------------------------------------------------------
vim slaves
    bigdata2
    bigdata3
    bigdata4


        ---- 將主節(jié)點的安裝目錄 cp 到其它從節(jié)點上即可

scp -r spark-2.2.1-bin-hadoop2.7/ bigdata2:/app &
scp -r spark-2.2.1-bin-hadoop2.7/ bigdata3:/app &
scp -r spark-2.2.1-bin-hadoop2.7/ bigdata4:/app &


        ---- 啟動

start-all.sh



==> Spark HA 的實現(xiàn)

            Spark HA 有兩種實現(xiàn)方式:

    ---> 基于文件系統(tǒng)的單點故障恢復只有一個主節(jié)點、只能用于開發(fā)測試

        ---- 特點把 Spark 的運行信息入到一個本地的恢復目錄,如果Master死掉,恢復 master 的時候從恢復目錄上讀取之前的信息

        ---- 配置:在 standalone 的基礎上修改 spark-env.sh 文件,文件內容為:

vim  spark-env.sh
    export JAVA_HOME=/app/java/jdk1.8.0_102
    export SPARK_MASTER_HOST=bigdata0
    export SPARK_MASTER_PORT=7077
    export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=FILESYSTEM -Dspark.deploy.recoveryDirectory=/data/spark_recovery"


        ---- 參數(shù)講解

            --- spark.deploy.recoveryMode  

                => 此參數(shù)默認值為None ,

                => 基于文件系統(tǒng)的單點故障修復: FILESYSTEM

                => 基于 Zookeeper 實現(xiàn) Standby 的 Master:  ZOOKEEPER

            --- spark.deploy.recoveryDirectory  指定恢復目錄

        ---- 測試:bin/spark-shell --master spark://bigdata1:7077

    ---> 基于 ZooKeeper 實現(xiàn) Standby 的 Master

        ---- 特點

Zookeeper 提供了一個 Leader Election 機制,利用這個機制可以保證雖然集群存在多個 Master, 但是只有一個是Active 的,其他的都是 Standby , 當 Active 的 Master 出現(xiàn)故障時,另外的一個 Standby Master 會被選舉出來。 由于集群的信息包括 Worker, Driver 和 Application 的信息都已經(jīng)持久化到 Zookeeper , 因此在切換的過程中只會影響新的 Job 的提交 , 對于正在進行 Job 沒有任何的影響

        ---- 配置在 standalone 的基礎上修改 spark-env.sh 文件,文件內空為:

vim  spark-env.sh
    export JAVA_HOME=/app/java/jdk1.8.0_102
    export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=bigdata2:2181,bigdata3:2181,bigdata4:2181 -Dspark.deploy.zookeeper.dir=/spark"

        ---- 測試:

bigdata1: sbin/start-all.sh
bigdata2: sbin/start-master.sh





向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI