spark standalone zookeeper HA部署方式
虽然spark master挂掉的几率很低,不过还是被我遇到了一次。以前在spark standalone的文章中也介绍过standalone的ha,现在详细说下部署流程,其实也比较简单。
一.机器
zookeeper集群
zk1:2181
zk2:2181
zk3:2181
spark master
spark-m1
spark-m2
spark worker
若干
二.步骤
1.进入spark-m1
修改conf/spark-env.sh
vi spark-env.sh
export SPARK_MASTER_IP=spark-m1
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=zk1:2181,zk2:2181,zk3:2181 -Dspark.deploy.zookeeper.dir=/spark"
启动master和slaves
./sbin/start-master.sh
./sbin/start-slaves.sh
2.进入spark-m2
修改conf/spark-env.sh
vi spark-env.sh
export SPARK_MASTER_IP=spark-m2
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=zk1:2181,zk2:2181,zk3:2181 -Dspark.deploy.zookeeper.dir=/spark"
启动master和slaves
./sbin/start-master.sh
./sbin/start-slaves.sh
三.检测
在spark-m1的web ui中可以看到状态
spark-m2中可以看到处于STANDBY状态
application提交时,master改为
--master spark://spark-m1:7077,spark-m2:7077
spark shell 测试
在spark-m1中启动spark Shell
spark-shell --master spark://spark-m1:7077,spark-m2:7077
连接后关闭spark-m1 master
./bin/stop-master.sh
发现spark-shell不会断开而是转到spark-m2的master上继续执行(该过程持续大概1分钟,woker会重新注册到spark-m2上),同时spark-m2变为alive状态。
可以在spark-m2的master日志中看到:
15/08/17 14:45:35 INFO ZooKeeperLeaderElectionAgent: We have gained leadership
15/08/17 14:45:36 INFO Master: I have been elected leader! New state: RECOVERING
15/08/17 14:45:36 INFO Master: Trying to recover worker:...
15/08/17 14:45:36 INFO Master: Trying to recover worker: ...
15/08/17 14:45:36 INFO Master: Trying to recover worker: ...
......
15/08/17 14:45:36 INFO Master: Worker has been re-registered: worker-...
15/08/17 14:45:36 INFO Master: Worker has been re-registered: worker-...
15/08/17 14:45:36 INFO Master: Worker has been re-registered: worker-...
...
15/08/17 14:45:36 INFO Master: Recovery complete - resuming operations!
部署结束
spark standalone zookeeper HA部署方式的更多相关文章
- Spark Standalone模式HA环境搭建
Spark Standalone模式常见的HA部署方式有两种:基于文件系统的HA和基于ZK的HA 本篇只介绍基于ZK的HA环境搭建: $SPARK_HOME/conf/spark-env.sh 添加S ...
- Spark的四种部署方式并对应四种提交方式
1 Local模式 本地模式 local模式 一台机器即可,开箱即用 不指定master,或者 --master local local[N] local[*] local模式下,使用 ...
- spark standalone集群部署 实践记录
本文记录了一次搭建spark-standalone模式集群的过程,我准备了3个虚拟机服务器,三个centos系统的虚拟机. 环境准备: -每台上安装java1.8 -以及scala2.11.x (x代 ...
- 【Spark】Spark的Standalone模式安装部署
Spark执行模式 Spark 有非常多种模式,最简单就是单机本地模式,还有单机伪分布式模式,复杂的则执行在集群中,眼下能非常好的执行在 Yarn和 Mesos 中.当然 Spark 还有自带的 St ...
- spark运行模式之二:Spark的Standalone模式安装部署
Spark运行模式 Spark 有很多种模式,最简单就是单机本地模式,还有单机伪分布式模式,复杂的则运行在集群中,目前能很好的运行在 Yarn和 Mesos 中,当然 Spark 还有自带的 Stan ...
- Spark介绍及安装部署
一.Spark介绍 1.1 Apache Spark Apache Spark是一个围绕速度.易用性和复杂分析构建的大数据处理框架(没有数据存储).最初在2009年由加州大学伯克利分校的AMPLab开 ...
- Windows下IntelliJ IDEA中运行Spark Standalone
ZHUAN http://www.cnblogs.com/one--way/archive/2016/08/29/5818989.html http://www.cnblogs.com/one--wa ...
- Harbor HA部署-使用Ceph RADOS后端
1. 前言 Harbor 1.4.0版本开始提供了HA部署方式,和非HA的主要区别就是把有状态的服务分离出来,使用外部集群,而不是运行在本地的容器上.而无状态的服务则可以部署在多个节点上,通过配置上层 ...
- Apache Spark源码走读之7 -- Standalone部署方式分析
欢迎转载,转载请注明出处,徽沪一郎. 楔子 在Spark源码走读系列之2中曾经提到Spark能以Standalone的方式来运行cluster,但没有对Application的提交与具体运行流程做详细 ...
随机推荐
- su terminal get around---docker root
su : must be run from a terminal After some googling, I found the solution from Tero's glob. If you ...
- chem01- 添加商品到购物车
1. package selleck.web.cart; import java.io.InputStream; import java.math.BigDecimal; import java.sq ...
- 通过SessionID和用户名来保证同一个用户不能同时登录(单点登录)
可以通过SessionID和用户名来保证同一个用户不能同时登录的问题,下面程序模仿了QQ的登录,当登录后判断当前帐号是否已经登录,如果登录.则踢掉以前登录的用户. 1.通过Application全局变 ...
- iOS:WebKit内核框架的应用与解析
原文:http://www.cnblogs.com/fengmin/p/5737355.html 一.摘要: WebKit是iOS8之后引入的专门负责处理网页视图的框架,其比UIWebView更加强大 ...
- linux 文件目录
- Netty中BIO,NIO
同步阻塞io(BIO).伪异步io(PIO).非阻塞io(NIO).异步io(AIO)的概念及区别? 同步阻塞io(BIO):服务器端与客户端通过三次握手后建立连接,连接成功,双方通过I/O进行同步阻 ...
- Java ConcurrentHashMap
通过分析Hashtable就知道,synchronized是针对整张Hash表的,即每次锁住整张表让线程独占, ConcurrentHashMap允许多个修改操作并发进行,其关键在于使用了锁分离技术. ...
- 第五篇 Replication:事务复制-How it works
本篇文章是SQL Server Replication系列的第五篇,详细内容请参考原文. 这一系列包含SQL Server事务复制和合并复制的详细内容,从理解基本术语和设置复制的方法,到描述它是如何工 ...
- Group的操作
1. 概述 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组 示例 2. group by的简单操作 3. Group By中Select指定的字段限制 select指定的 ...
- Java 使用jaxp添加节点
<?xml version="1.0" encoding="UTF-8"?> <person> <p1> <name& ...