【Spark】三、配置HA【Standalone模式】

1.启动HDFS

 【在NameNode所在节点下启动dfs】

sbin/start-dfs.sh 

2.停止spark所有服务

  • 进入到spark安装目录,停止spark所有服务【关闭历史服务器,关闭集群节点】
sbin/stop-history-server.sh

sbin/stop-all.sh
-----------------------------
sbin/stop-slaves.sh
sbin/stop-master.sh

注意:集群操作顺序

  1. 先启动master,再启动slaves
  2. 先停止slaves,再停止master

3.修改spark配置文件

  • 进入到conf目录,修改配置文件:spark-env.sh
vim spark-env.sh
  • 注释掉SPARK_MASTER_HOST=master01
# 配置Spark HA,需要注释掉SPARK_MASTER_HOST=master01
# SPARK_MASTER_HOST=master01
  • 添加Zookeeper配置
# 配置Spark HA,配置Zookeeper集群:ZOOKEEPER;Zookeeper的地址(配置好的zookeeper url,master01,slave01,slave02);目录(随便)
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=master01:2181,slave01:2181,slave02:2181 -Dspark.deploy.zookeeper.dir=/spark"
  • 将更改后的配置文件发布给slave01和slave02
scp spark-env.sh slave01:/opt/module/spark-2.1.1-bin-hadoop2.7/conf/
scp spark-env.sh slave02:/opt/module/spark-2.1.1-bin-hadoop2.7/conf/

发布完成后,可到slave01和slave02用cat命令查看一下是否成功,即配置文件内容是否被更改


tips:【Xshell】通过“工具”中“发送键输入到所有会话”可以控制所有会话窗口的命令


4.启动zookeeper

  • 所有会话一起进入到zookeeper安装目录【三台服务器同时操作】
cd /opt/module/zookeeper-3.4.10
  • 启动zookeeper
bin/zkServer.sh start
  • 查看状态
bin/zkServer.sh status
---------------------------------------------------
master01:follower; slave01:follower; slave02:leader

5.启动Spark集群

  • master01,在spark安装目录下,启动集群【master01下有master进程,slave01和slave02下有worker进程】
sbin/start-all.sh
  • slave01,在spark安装目录下,手动启动master【此时,slave01下既有worker进程,又有master进程】
sbin/start-master.sh

6.程序中spark集群的访问地址需要更改

spark://master01:port1,master02:port2

  • 启动spark集群
[lsy@master01 spark-2.1.1-bin-hadoop2.7]$ bin/spark-shell --master spark://master01:7077,slave01:7077
  • 在scala命令行下进行wordcount
scala> sc.textFile("./LICENSE").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
  1. 开始时,master01掌握控制权,可以在master01:8080下看到集群状态
  2. kill掉master01的master进程后,控制权交给了slave01【kill -9 master进程号】
  3. 再次执行wordcount,可以在slave01:8080下看到集群状态
  4. master01再手动启动sbin/start-master.sh,控制权仍然在slave01节点
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值