Spark 集群模式概述

本文档简要概述了Spark如何在群集上运行,以使您更容易理解所涉及的组件。通读应用程序提交指南, 以了解有关在集群上启动应用程序的信息。

组件

Spark应用程序在群集上作为独立的进程集运行,由SparkContext 主程序中的对象(称为驱动程序)协调。

具体来说,要在集群上运行,SparkContext可以连接到几种类型的集群管理器 (Spark自己的独立集群管理器Mesos或YARN),它们可以在应用程序之间分配资源。连接后,Spark会在集群中的节点上获取执行程序,这些节点是运行计算并为您的应用程序存储数据的进程。接下来,它将您的应用程序代码(由传递给SparkContext的JAR或Python文件定义)发送给执行者。最后,SparkContext将任务发送给执行程序以运行。

关于此体系结构,有几点有用的注意事项:

  1. 每个应用程序都有其自己的执行程序进程,该进程在整个应用程序期间保持不变,并在多个线程中运行任务。这样的好处是可以在调度方面(每个驱动程序调度自己的任务)和执行者方面(来自不同应用程序的任务在不同JVM中运行)彼此隔离应用程序。但是,这也意味着,如果不将数据写入外部存储系统,则无法在不同的Spark应用程序(SparkContext实例)之间共享数据。
  2. Spark与基础群集管理器无关。只要它可以获取执行程序进程,并且它们彼此通信,即使在还支持其他应用程序(例如Mesos / YARN)的集群管理器上运行它,也是相对容易的。
  3. 驱动程序在其整个生命周期中必须侦听并接受其执行程序的传入连接(例如,请参见网络配置部分中的spark.driver.port)。这样,驱动程序必须是可从工作程序节点访问的网络。
  4. 由于驱动程序在群集上调度任务,因此应在工作节点附近运行,最好在同一局域网上运行。如果您想将请求远程发送到集群,最好是将RPC打开到驱动程序,并让它从附近提交操作,而不是在远离工作节点的地方运行驱动程序。

集群管理器类型

该系统当前支持几个集群管理器:

  • 单机版 – Spark附带的简单群集管理器,可轻松设置群集。
  • Apache Mesos –通用集群管理器,也可以运行Hadoop MapReduce和服务应用程序。
  • Hadoop YARN – Hadoop 2中的资源管理器。
  • Kubernetes –一个开源系统,用于自动化容器化应用程序的部署,扩展和管理。

存在第三方项目(Spark项目不支持)来添加对 Nomad作为群集管理器的支持。

提交申请

可以使用spark-submit脚本将应用程序提交到任何类型的集群。在提交申请指南介绍了如何做到这一点。

监控方式

每个驱动程序都有一个Web UI,通常在端口4040上,该Web UI显示有关正在运行的任务,执行程序和存储使用情况的信息。只需http://<driver-node>:4040在Web浏览器中转到即可访问此UI。该监视指南还介绍了其他的监控选项。

作业调度

Spark可以控制应用程序(在集群管理器级别)以及应用程序(如果在同一SparkContext上进行了多次计算)资源分配。该作业调度概述描述得更详细。

词汇表

下表总结了您将用来指代集群概念的术语:

术语

含义

应用

基于Spark的用户程序。由群集上的驱动程序执行程序组成。

应用罐

一个包含用户的Spark应用程序的jar。在某些情况下,用户将希望创建一个包含其应用程序及其依赖项的“超级jar”。用户的jar绝不应该包含Hadoop或Spark库,但是这些库将在运行时添加。

驱动程式

运行应用程序的main()函数并创建SparkContext的过程

集群管理员

用于在群集上获取资源的外部服务(例如,独立管理器,Mesos,YARN)

部署方式

区分驱动程序进程的运行位置。在“集群”模式下,框架在集群内部启动驱动程序。在“客户端”模式下,提交者在群集外部启动驱动程序。

工作节点

可以在集群中运行应用程序代码的任何节点

执行者

为工作节点上的应用程序启动的进程,该进程运行任务并将数据跨任务存储在内存或磁盘存储中。每个应用程序都有自己的执行程序。

任务

一种工作单元,将发送给一个执行者

工作

甲并行计算由该获取响应于火花动作催生多个任务(例如save,collect); 您会在驱动程序的日志中看到该术语。

阶段

每个作业被分为较小的任务集,称为相互依赖的阶段(类似于MapReduce中的map和reduce阶段);您会在驱动程序的日志中看到该术语。

Spark 集群模式概述相关推荐

  1. Spark集群模式概述

    2019独角兽企业重金招聘Python工程师标准>>> 集群模式概述 本文简要地概述一下Spark是如何在集群上运行的,方便理解Spark以及相关的组件.如何向集群提交应用程序参阅应 ...

  2. spark之12:集群模式概述

    spark之12:集群模式概述 @(SPARK)[spark, 大数据] 英文原文地址:https://spark.apache.org/docs/latest/cluster-overview.ht ...

  3. spark集群测试小案例

    一.local模式: 测试自带计算的圆周率案例 之所以会报错,是因为从网上copy过来的文件名不对:所以才会报错,以及因此而导致的错误: 正确的如下: 二.独立的Spark集群模式:使用7077端口( ...

  4. Spark 原理 —— 从 akka 到 spark 集群的启动

    1. actor 到 akka Actor 是一种消息并发模型,基于事件模型的并发机制. Scala 的 Actor 类似于 Java 中的多线程编程,不同在于: Scala 的 Actor 设计的初 ...

  5. Zeppelin-在Flink和Spark集群的安装

    2019独角兽企业重金招聘Python工程师标准>>> 该教程主要面向Zeppelin的入门者.不需要太多的关于 Linux, git, 或其它工具的基础知识.如果你按照这里的方法逐 ...

  6. 2021年大数据Spark(八):环境搭建集群模式 Standalone HA

    环境搭建-Standalone HA 高可用HA Spark Standalone集群是Master-Slaves架构的集群模式,和大部分的Master-Slaves结构集群一样,存在着Master单 ...

  7. 2021年大数据Spark(六):环境搭建集群模式 Standalone

    目录 环境搭建-Standalone 前言 Standalone 架构 ​​​​​​​集群规划 修改配置并分发 修改slaves ​​​​​​​分发到其他机器 修改spark-env.sh 集群启动和 ...

  8. Zookeeper源码分析:集群模式启动概述

    参考资料 <<从PAXOS到ZOOKEEPER分布式一致性原理与实践>> zookeeper-3.0.0 Zookeeper概述 Zookeeper是一个分布式的,开放源码的分 ...

  9. spark集群运行模式理解

    第一种模式: 本地集群测试单机模式: 不启动任何集群,即Local模式 第二种模式: 第三种模式: yarn-Client模式 访问8088端口 这篇文章解决了一是否调用 集群,并不是程序内部要求的: ...

最新文章

  1. BizTalk 开发系列(四十二) 为BizTalk应用程序打包不同的环境Binding
  2. 中国工商银行已使用OceanBase!
  3. 机器人学习--路径规划--A*算法实现
  4. Python技巧:Docker框架的使用系列教程(一)
  5. ik分词和jieba分词哪个好_Pubseg:一种单双字串的BiLSTM中文分词工具
  6. 大学计算机和英语社团加那个,大学里哪些社团值得加入
  7. PHPCMS内容模块标签
  8. noi.ac #289. 电梯(单调队列)
  9. CIA:要破解最新iPhone/iOS我们也没辙
  10. acm中c语言标准输入输出,ACM竞赛之输入输出
  11. Uhuntu搜狗拼音输入法安装详细过程
  12. PB powerbuilder 电子邮件发送
  13. 学美工、平面设计、UI设计,哪个有前途?
  14. uniapp 微信小程序修改BarTitle
  15. Mydrivers: DVD Jon出手,绕过ATT激活iPhone
  16. 第69天-内网安全-域横向 CobaltStrikeSPNRDP
  17. 我们为什么需要信息增益比,而不是信息增益?
  18. Java中的可变参数使用语法及用途
  19. 专业工具软件课程意见汇总及答复
  20. Snail—不是所有的牛都叫蜗牛

热门文章

  1. matlab中dist的命令,matlab dist函数
  2. 如何将pdf文件转换成cad格式文件
  3. 马克思主义哲学笔记汇总
  4. MATLABeig()用法
  5. 京东api商品详情接口
  6. unity app加密
  7. 哪个计算机软件可以探究小孔成像,探究“小孔成像”的几个问题
  8. 不同行业数据分析思路5
  9. Python--序列化和反序列化
  10. 163邮箱注册,怎么注册申请 vip.tom.com邮箱?