天天看點

Spark HA(高可用)叢集的搭建1.上傳并且解壓spark安裝包2.将解壓出來的目錄重命名為spark3.進入spark/conf修改配置檔案4.啟動standalone模式

1.上傳并且解壓spark安裝包

2.将解壓出來的目錄重命名為spark

3.進入spark/conf修改配置檔案

    1.進入conf目錄并且複制spark-env.sh.template并重命名為spark-env.sh,并在檔案最後添加如下配置内容

cp spark-env.sh.template spark-env.sh      
vi spark-env.sh
      
export JAVA_HOME=/usr/local/jdk1.8.0_191
export SCALA_HOME=/home/hadoop/apps/scala-2.11.8
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.6
export HADOOP_CONF_DIR=/home/hadoop/apps/hadoop-2.7.6/etc/hadoop
export SPARK_WORKER_MEMORY=500m
export SPARK_WORKER_CORES=1
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=ali:2181,tencent:2181,huawei:2181 -Dspark.deploy.zookeeper.dir=/spark"
           

Dspark.deploy.zookeeper.url後面添加的是ZK中所有可以當master的節點

    2.複制slaves.template成slaves添加如下内容

ali
tencent
huawei
           

    3.配置環境變量,如下

export SPARK_HOME=/home/hadoop/apps/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
           
source /etc/profile      

    4.由于有的程式中的stat-all.sh和stop-all.sh與spark/sbin中的這兩個檔案重名,可以将這兩個檔案重命名,例如修改為stat-allspark.sh和stop-allspark.sh

4.啟動

1.啟動zookeeper叢集

        zkServer.sh start(在任意一個節點)

2.啟動HDFS叢集

        start-dfs.sh(在一個節點啟動)

3.啟動Spark叢集

        start-allspark.sh

4.jps檢視程序

        可能隻有ali節點成功啟動了master,那麼可以啟動start-master.sh即可

5.驗證

Spark HA(高可用)叢集的搭建1.上傳并且解壓spark安裝包2.将解壓出來的目錄重命名為spark3.進入spark/conf修改配置檔案4.啟動standalone模式
Spark HA(高可用)叢集的搭建1.上傳并且解壓spark安裝包2.将解壓出來的目錄重命名為spark3.進入spark/conf修改配置檔案4.啟動standalone模式

現在kill掉alive節點的Master程序

Spark HA(高可用)叢集的搭建1.上傳并且解壓spark安裝包2.将解壓出來的目錄重命名為spark3.進入spark/conf修改配置檔案4.啟動standalone模式

剛才alive的節點無法通路

Spark HA(高可用)叢集的搭建1.上傳并且解壓spark安裝包2.将解壓出來的目錄重命名為spark3.進入spark/conf修改配置檔案4.啟動standalone模式

剛才standby狀态的節點進行recovering

Spark HA(高可用)叢集的搭建1.上傳并且解壓spark安裝包2.将解壓出來的目錄重命名為spark3.進入spark/conf修改配置檔案4.啟動standalone模式

現在另外一個節點已經成功啟動

Spark HA(高可用)叢集的搭建1.上傳并且解壓spark安裝包2.将解壓出來的目錄重命名為spark3.進入spark/conf修改配置檔案4.啟動standalone模式

完成

standalone模式

隻在spark-env.sh中配置如下資訊

#指定JAVA_HOME位置
export JAVA_HOME=/usr/local/jdk1.8.0_191
#指定spark老大Master的IP
export SPARK_MASTER_IP=ali
#指定spark老大Master的端口
export SPARK_MASTER_PORT=7077
#指定可用的CPU核心數量(預設:所有可用,實際使用時沒有配置最後這兩個參數)
export SPARK_WORKER_CORES=1
#作業可使用的記憶體容量,預設格式為1000m或者2g(預設:所有RAM去掉給作業系統用的1GB)
export SPARK_WORKER_MEMORY=1000m
           

在啟動了hadoop的高可用之後啟動start-allspark.sh

啟動sparkshell

spark-shell \
--master spark://ali:7077 \
--executor-memory 500m \
--total-executor-cores 1
           

繼續閱讀