文章目录
零、本讲学习目标
- 了解Spark HA集群工作原理
- 掌握搭建Spark HA集群基本步骤
- 能够测试Spark HA集群的高可用性
一、搭建Spark HA集群
(一)Spark HA集群概述
- Spark Standalone和大部分Master/Slave模式一样,都存在Master单点故障问题,解决方式是基于ZooKeeper实现两个Master无缝切换,类似HDFS的NameNode HA(High Availability,高可用)或YARN的ResourceManager HA。
- Spark可以在集群中启动多个Master,并使它们都向ZooKeeper注册,ZooKeeper利用自身的选举机制保证同一时间只有一个Master是活动状态(active)的,其他的都是备用状态(Standby)的。
- 当活动状态的Master出现故障时,ZooKeeper会从其他备用状态的Master选出一台成为活动Master,整个恢复过程大约在1分钟之内。对于恢复期间正在运行的应用程序,由于应用程序在运行前已经向Master申请了资源,运行时Driver负责与Executor进行通信,管理整个应用程序,因此Master的故障对应用程序的运行不会产生影响,但是会影响新应用程序的提交。
- 默认情况下,Standalone的Spark集群是Master-Slaves架构的集群模式,由一台master来调度资源,这