Standalone 是 Spark 自身提供的一种主从集群部署模式。本文讲述一个常规1主多从的集群部署模式,该模式下master服务依靠Rainbond平台监控保障其可用性,支持重新调度重启。 worker服务可以根据需要伸缩多个节点。
部署效果截图如下:
开始前,你需要完成Rainbond平台的安装和搭建,参考Rainbond 安装与部署 本参考文档适合已掌握Rainbond 基础操作的同学,因此如果你还刚接触Rainbond平台,请先参考 Rainbond 快速入门指南 部署单实例的master服务
高级设置
进行三个特殊设置。
SPARK_DAEMON_JAVA_OPTS=-Dspark.deploy.recoveryMode=FILESYSTEM -Dspark.deploy.recoveryDirectory=/data
我们需要设置spark-master为“Recovery with Local File System”模式。可以在master发生重启后从持久化文件中恢复数据,保持master服务的可用性。/data
持久化master的数据,使其可以重启后恢复。有状态单实例
部署为有状态组件后,其可以获得一个稳定的内部访问域名,供worker组件连接。有状态服务控制权可以保障master节点不会重复启动多个实例。组件成功点击访问即可打开master UI。如上图所示,我们可以在UI中获取到master服务的访问地址是:spark://gr7b570e:7077
,注意UI上显示的地址是spark://gr7b570e-0:7077
我们需要使用的是spark://gr7b570e:7077
,复制并记录这个地址。
注意,地址实际值请查看你的UI显示,这里只是举例说明。
部署多实例的worker实例
如上创建方式指定了两个环境变量。
有状态多实例
。到此,我们的Spark集群已部署完成。
Master节点主备高可用 Spark 基于 ZooKeeper可以提供master服务的主备切换。 配置方式也比较简单,参考 官方文档。
Rainbond 云原生应用管理平台,实现微服务架构不用改代码,管理 Kubernetes 不用学容器,帮企业实现应用上云,一站式将任何企业应用持续交付到 Kubernetes 集群、混合云、多云等基础设施。是 Rainstore 云原生应用商店的支撑平台。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。