這里搭建一個(gè) 3 節(jié)點(diǎn)的 Spark 集群,其中三臺(tái)主機(jī)上均部署 Worker
服務(wù)。同時(shí)為了保證高可用,除了在 hadoop001 上部署主 Master
服務(wù)外,還在 hadoop002 和 hadoop003 上分別部署備用的 Master
服務(wù),Master 服務(wù)由 Zookeeper 集群進(jìn)行協(xié)調(diào)管理,如果主 Master
不可用,則備用 Master
會(huì)成為新的主 Master
。
創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比屏邊網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式屏邊網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋屏邊地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴(lài)。
搭建 Spark 集群前,需要保證 JDK 環(huán)境、Zookeeper 集群和 Hadoop 集群已經(jīng)搭建,相關(guān)步驟可以參閱:
下載所需版本的 Spark,官網(wǎng)下載地址:http://spark.apache.org/downloads.html
下載后進(jìn)行解壓:
# tar -zxvf spark-2.2.3-bin-hadoop2.6.tgz
# vim /etc/profile
添加環(huán)境變量:
export SPARK_HOME=/usr/app/spark-2.2.3-bin-hadoop2.6
export PATH=${SPARK_HOME}/bin:$PATH
使得配置的環(huán)境變量立即生效:
# source /etc/profile
進(jìn)入 ${SPARK_HOME}/conf
目錄,拷貝配置樣本進(jìn)行修改:
cp spark-env.sh.template spark-env.sh
# 配置JDK安裝位置
JAVA_HOME=/usr/java/jdk1.8.0_201
# 配置hadoop配置文件的位置
HADOOP_CONF_DIR=/usr/app/hadoop-2.6.0-cdh6.15.2/etc/hadoop
# 配置zookeeper地址
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop001:2181,hadoop002:2181,hadoop003:2181 -Dspark.deploy.zookeeper.dir=/spark"
cp slaves.template slaves
配置所有 Woker 節(jié)點(diǎn)的位置:
hadoop001
hadoop002
hadoop003
將 Spark 的安裝包分發(fā)到其他服務(wù)器,分發(fā)后建議在這兩臺(tái)服務(wù)器上也配置一下 Spark 的環(huán)境變量。
scp -r /usr/app/spark-2.4.0-bin-hadoop2.6/ hadoop002:usr/app/
scp -r /usr/app/spark-2.4.0-bin-hadoop2.6/ hadoop003:usr/app/
分別到三臺(tái)服務(wù)器上啟動(dòng) ZooKeeper 服務(wù):
zkServer.sh start
# 啟動(dòng)dfs服務(wù)
start-dfs.sh
# 啟動(dòng)yarn服務(wù)
start-yarn.sh
進(jìn)入 hadoop001 的 ${SPARK_HOME}/sbin
目錄下,執(zhí)行下面命令啟動(dòng)集群。執(zhí)行命令后,會(huì)在 hadoop001 上啟動(dòng) Maser
服務(wù),會(huì)在 slaves
配置文件中配置的所有節(jié)點(diǎn)上啟動(dòng) Worker
服務(wù)。
start-all.sh
分別在 hadoop002 和 hadoop003 上執(zhí)行下面的命令,啟動(dòng)備用的 Master
服務(wù):
# ${SPARK_HOME}/sbin 下執(zhí)行
start-master.sh
查看 Spark 的 Web-UI 頁(yè)面,端口為 8080
。此時(shí)可以看到 hadoop001 上的 Master 節(jié)點(diǎn)處于 ALIVE
狀態(tài),并有 3 個(gè)可用的 Worker
節(jié)點(diǎn)。
而 hadoop002 和 hadoop003 上的 Master 節(jié)點(diǎn)均處于 STANDBY
狀態(tài),沒(méi)有可用的 Worker
節(jié)點(diǎn)。
此時(shí)可以使用 kill
命令殺死 hadoop001 上的 Master
進(jìn)程,此時(shí)備用 Master
會(huì)中會(huì)有一個(gè)再次成為 主 Master
,我這里是 hadoop002,可以看到 hadoop2 上的 Master
經(jīng)過(guò) RECOVERING
后成為了新的主 Master
,并且獲得了全部可以用的 Workers
。
Hadoop002 上的 Master
成為主 Master
,并獲得了全部可以用的 Workers
。
此時(shí)如果你再在 hadoop001 上使用 start-master.sh
啟動(dòng) Master 服務(wù),那么其會(huì)作為備用 Master
存在。
和單機(jī)環(huán)境下的提交到 Yarn 上的命令完全一致,這里以 Spark 內(nèi)置的計(jì)算 Pi 的樣例程序?yàn)槔?,提交命令如下?/p>
spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
--executor-memory 1G \
--num-executors 10 \
/usr/app/spark-2.4.0-bin-hadoop2.6/examples/jars/spark-examples_2.11-2.4.0.jar \
100
更多大數(shù)據(jù)系列文章可以參見(jiàn) GitHub 開(kāi)源項(xiàng)目: 大數(shù)據(jù)入門(mén)指南
分享題目:Spark系列(七)——基于ZooKeeper搭建Spark高可用集群
URL網(wǎng)址:http://muchs.cn/article36/pjjepg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、外貿(mào)建站、微信小程序、搜索引擎優(yōu)化、網(wǎng)站營(yíng)銷(xiāo)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)