Spark集羣安裝

3.1 下載 spark 安裝包
下載地址 spark 官網: http://spark.apache.org/downloads.html

這裏我們使用 spark-2.0.2-bin-hadoop2.7 版本.
3.2 規劃安裝目錄

/opt/bigdata
3.3 解壓安裝包

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

3.4 重命名目錄
mv spark-2.0.2-bin-hadoop2.7 spark

3.5 修改配置文件

配置文件目錄在 /opt/bigdata/spark/conf
vi spark-env.sh 修改文件(先把 spark-env.sh.template 重命名
爲 spark-env.sh)

#配置 java 環境變量
export JAVA_HOME=/opt/bigdata/jdk1.7.0_67
#指定 spark 老大 Master 的 IP
export SPARK_MASTER_HOST=hdp-node-01
#指定 spark 老大 Master 的端口
export SPARK_MASTER_PORT=7077

 vi slaves 修改文件(先把 slaves.template 重命名爲 slaves)
hdp-node-02
hdp-node-03

3.6 拷貝配置到其他主機
通過 scp 命令將 spark 的安裝目錄拷貝到其他機器上
scp -r /opt/bigdata/spark hdp-node-02:/opt/bigdata
scp -r /opt/bigdata/spark hdp-node-03:/opt/bigdata

3.7 配置 spark 環境變量
將 spark 添加到環境變量,添加以下內容到 /etc/profile
export SPARK_HOME=/opt/bigdata/spark
export PATH=$PATH:$SPARK_HOME/bin
注意最後 source /etc/profile 刷新配置

3.7 啓動 spark
#在主節點上啓動 spark
/opt/bigdata/spark/sbin/start-all.sh

3.8 停止 spark
#在主節點上停止 spark 集羣
/opt/bigdata/spark/sbin/stop-all.sh

3.9 spark 的 web 界面
正常啓動 spark 集羣后,可以通過訪問 http://hdp-node-01:8080,查看 spark 的 web 界面,
查看相關信息。

Spark HA 高可用部署
4.1 高可用部署說明
Spark Standalone 集羣是 Master-Slaves 架構的集羣模式, 和大部分的Master-Slaves 結構集羣一樣, 存在着 Master 單點故障的問題。 如何解決這個單點故障的問題, Spark 提供了l兩種方案:

( 1) 基 於 文 件 系 統 的 單 點 恢 復 (Single-Node Recovery with Local FileSystem)。
主要用於開發或測試環境。 當 spark 提供目錄保存 spark Application和 worker 的註冊信息, 並將他們的恢復狀態寫入該目錄中, 這時, 一旦 Master發生故障, 就可以通過重新啓動 Master 進程( sbin/start-master.sh) , 恢復已運行的 spark Application 和 worker 的註冊信息。
( 2) 基於 zookeeper 的 Standby Masters(Standby Masters with ZooKeeper)。用於生產模式。 其基本原理是通過 zookeeper 來選舉一個 Master, 其他的 Master 處於 Standby 狀態。 將 spark 集羣連接到同一個 ZooKeeper 實例並啓動多個 Master, 利用 zookeeper 提供的選舉和狀態保存功能, 可以使一個 Master被選舉成活着的 master, 而其他 Master 處於 Standby 狀態。 如果現任 Master死去, 另一個 Master 會通過選舉產生, 並恢復到舊的 Master 狀態, 然後恢復調度。 整個恢復過程可能要 1-2 分鐘。

4.2 基於 zookeeper 的 Spark HA 高可用集羣部署
該 HA 方案使用起來很簡單, 首先需要搭建一個 zookeeper 集羣, 然後啓動
zooKeeper 集羣, 最後在不同節點上啓動 Master。 具體配置如下:

(1)vim spark-env.sh
註釋掉 export SPARK_MASTER_HOST=hdp-node-01
(2)在 spark-env.sh 添加 SPARK_DAEMON_JAVA_OPTS, 內容如下:
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=hdp-node-01:2181,hdp-node-02:2181,hdp-node-03:2181
-Dspark.deploy.zookeeper.dir=/spark"
參數說明
spark.deploy.recoveryMode: 恢復模式( Master 重新啓動的模式)
有三種: (1)ZooKeeper (2) FileSystem (3)NONE
spark.deploy.zookeeper.url: ZooKeeper 的 Server 地址
spark.deploy.zookeeper.dir: 保存集羣元數據信息的文件、 目錄。
包括 Worker, Driver 和 Application。

注意:
在普通模式下啓動 spark 集羣, 只需要在主機上面執行 start-all.sh 就可以了。
在高可用模式下啓動 spark 集羣, 先需要在任意一臺節點上啓動 start-all.sh 命令。

然後在另外一臺節點上單獨啓動 master。 命令 start-master.sh。




發佈了33 篇原創文章 · 獲贊 13 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章