部署Spark

本章探讨Spark的基础架构,了解这些有助于部署和运行Spark应用程序

  1. 集群部署的选择
  2. Spark的不同集群管理者
  3. 部署注意事项以及配置部署

在大多数情况下,Spark在各种集群管理器下的工作模式类似。然而,定制集群管理器就需要了解每个集群管理系统的工作原理,最困难的部分是选择集群管理器(或选择托管服务)

Spark有三个官方支持的集群管理器

  1. Standalone模式
  2. Hadoop Yarn模式
  3. Apache Mesos

这些集群管理器维护一组机器用于部署你的Spark应用程序,这些集群管理器对集群的管理模式各不相同

在哪里部署Spark集群

关于在哪里部署Spark集群,有两个选择:部署在本地集群或公共云中,这个选择很重要

Yarn集群管理器

Hadoop Yarn是支持作业调度和集群资源管理的框架,Spark经常被误认为是Hadoop生态系统的一部分,但事实上,Spark与Hadoop几乎没有关系,虽然Spark本身支持Hadoop Yarn集群管理器,但它并不需要Hadoop的支持

通过在spark-submit命令行参数中将master节点指定为Yarn,你可以在Hadoop Yarn上运行Spark作业,就像使用Standalone模式一样,你可以根据需求调整集群配置,由于Hadoop Yarn是大量不同执行框架的通用调度器,因此配置的参数数量自然也多于Spark的Standalone模式

提交应用程序

将应用程序提交给Yarn时,与其他部署的核心区别在于,--master需要指定的是yarn而不是master节点的IP(在Standalone模式中需要master节点IP)。Spark将使用环境变量HADOOP_CONF_DIR或YARN_CONF_DIR来查找Yarn配置文件,在将这些环境变量设置为Hadoop的安装目录后,就可以运行spark-submit来提交应用程序

有两种部署模式可用于在Yarn上启动Spark

在Yarn应用程序上配置Spark

将Spark部署为Yarn应用程序需要你了解Spark应用程序的各种不同配置及其含义。

Hadoop配置

如果想使用Spark从HDFS进行读写,则需要在Spark的classpath中包含两个Hadoop配置文件

Yarn的应用程序属性

有很多与hadoop相关的配置,也有很多与Spark不太相关的配置,他们是为了运行或保护Yarn而同时会涉及Spark的运行方式

相关推荐
大大大大晴天2 小时前
从 HDFS 到对象存储:计算存储分离如何重塑云原生大数据底座
大数据
专业抄代码选手4 小时前
08|Fiber 上的 `useState`:状态终于属于具体组件
前端·javascript·react.js
默_笙4 小时前
😭 Vibe Coding 翻车实录:AI 编程为什么必须先写"剧本"
前端·javascript
lerhxx5 小时前
我用 R3F 手搓了一个能走进去的 3D 迷宫简历(上):从选型架构到迷宫生成算法
前端·javascript·three.js
鹏多多10 小时前
PC 网站接入微信登录,这 10 个坑我替你踩完了!
前端·javascript·vue.js
用户36105886261211 小时前
SparkStreaming 之 updateStateByKey 算子详解及代码实现
大数据·spark
用户2986985301411 小时前
React 中 HTML 内容转 Word 文档的实现方案
javascript·react.js·html
mONESY11 小时前
我用 Next.js 16 + Supabase 从零做了个「背单词」H5 应用
javascript
boooooooom11 小时前
手把手做一个图 RAG 烹饪问答系统:Neo4j + Milvus + LLM 的工程实践
前端·javascript·后端
咖啡屋和酒吧13 小时前
“隐性肩颈紧张”正在透支精力|没有酸痛,不代表肩颈处于健康状态
大数据·精选