如何使 Spark 驱动程序能够适应 Master 重启?

2024-01-02

我有一个 Spark Standalone(不是 YARN/Mesos)集群和一个正在运行的驱动程序应用程序(在客户端模式下),它与该集群通信以执行其任务。但是,如果我关闭并重新启动 Spark 主节点和工作节点,驱动程序不会重新连接到主节点并恢复其工作。

也许我对Spark Master和驾驶员之间的关系感到困惑。在这种情况下,Master 是否负责重新连接回 driver?如果是这样,主设备是否将其当前状态序列化到磁盘上的某个位置,以便在重新启动时可以恢复?


这种情况Master负责重连吗 回到司机那里?如果是,Master是否序列化其当前状态 到磁盘某个地方可以在重新启动时恢复?

主节点和驱动程序之间的关系取决于几个因素。首先,驱动程序是托管您的驱动程序SparkContext/StreamingContext并负责工作的执行。它创建 DAG,并持有DAGScheduler and TaskScheduler分别分配阶段/任务。如果您使用 Spark Standalone 并在“客户端模式”下运行作业,则主节点可以充当驱动程序的主机。这样,Master 还托管驱动程序进程,如果它死亡,驱动程序也会随之死亡。如果使用“集群模式”,驱动程序驻留在其中一个工作节点上,并频繁与主节点通信以获取当前正在运行的作业的状态、发回有关已完成批次的状态的元数据等。

在 Standalone 上运行时,如果 Master 挂掉并且您重新启动它,Master 不会重新执行之前运行的作业。为了实现这一点,您可以创建并向集群提供一个额外的主节点,并将其设置为 ZooKeeper 可以保存主节点状态,并在发生故障时在两者之间进行交换。当您以这种方式设置集群时,Master 会知道它之前执行的作业,并代表您恢复它们(新 Master 已带头)。

您可以阅读如何创建备用 Spark Master 节点在文档中 http://spark.apache.org/docs/latest/spark-standalone.html#standby-masters-with-zookeeper.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使 Spark 驱动程序能够适应 Master 重启? 的相关文章

随机推荐

  • 可以将 firestore 查询表示为字符串

    可以表示一个CollectionReference作为具有 getter 属性的字符串path 这对于单元测试来说非常方便 例如admin firestore collection cities doc LA path回报 cities L
  • Android/Python 如何使用RSA和PKCS1 Padding验证签名SHA256

    我是新会员 我等了两天才找到解决方案验证从android客户端到python服务器的签名 首先 我创建密钥对并从私钥生成签名 谢谢 pedrofb 我已经更新了完整的代码 验证在 python 服务器中完成 protected void o
  • 无法解析的标识符 - SKErrorPaymentCancelled [重复]

    这个问题在这里已经有答案了 昨天 随着 iOS 9 3 和 OSX 10 11 4 包括 Swift 2 2 的发布 我更新到了最新版本的 Xcode 7 3 当我构建我的应用程序时 我收到一条错误消息Use of unresolved i
  • 如何创建一个采用默认值的 CMake 变量,除非显式覆盖?

    我有一个使用 CMake 构建的 C 项目 我希望 CMakeLists txt 中的构建配置能够构建在Release默认模式 并内置Debug仅当明确指定时才模式 参考this https cmake org cmake help v3
  • Objective C - 如何编写宏

    我需要编写一个多行宏 我需要这个 因为我必须有部分代码已 粘贴 到我的代码中的特定点 我怎样才能做到这一点 从你的问题中并不清楚你真正想要什么 但是一个简单的多行宏定义如下 define FOO something something el
  • MS SQL:通过包含新表中的附加列来更改索引视图

    我需要通过包含新创建的表中的附加列值来更新现有的 MS SQL 索引视图 索引视图 CREATE OR ALTER VIEW dbo MySelectionInfo WITH schemabinding AS SELECT C Id id0
  • 在精灵上制作滚动视图锁定并放大它

    参考我之前的问题 Swift 2 0 SpriteKit 滚动视图不使用页面 https stackoverflow com questions 34849615 swift 2 0 spritekit scrollview to not
  • 如何使用 spring-boot gradle 插件进行混淆

    如何使用 Spring Boot 2 和 gradle 构建设置 proguard 混淆 你好 尝试使用其 gradle 插件和 Proguard gradle 插件设置 Spring Boot 应用程序的代码混淆 Google 主要为旧的
  • 安装工具平台特定依赖项

    有什么方法可以告诉 setuptools 或分发以在特定平台上需要包吗 在我的具体情况下 我使用readline 它是 Unix 系统上标准库的一部分 但在 Windows 上我需要pyreadline模块来替换该功能 参见这个问题 htt
  • 如何将wordpress中的下载网址路径更改为www.yoursite.com/download?

    我试图隐藏或缩短上传到 wp content uploads 文件夹的文件或图片的链接 默认情况下 在 WordPress 中 如果您上传图像 pdf 等并将其插入帖子或页面 它将具有如下链接 mysite com wp content u
  • 如何在代码隐藏中使用 Eval 来设置 Page.Title

    我有一个绑定到 ListView 控件的 SQLDataSource 但我想将部分绑定记录放入 HTML TITLE 属性中 这是我想要更改的代码隐藏文件 以便它可以使用 Eval 根据数据内容构建动态 TITLE Public Parti
  • 汇编 x86 中的 Math.h 库函数? [复制]

    这个问题在这里已经有答案了 我尝试将 Linux fedora 9 下编写的 C 代码转换为汇编 x86 代码 但是 我在 Math h 函数中遇到问题 该库中的函数 例如 ceil floor log log10 pow 在 x86 汇编
  • Java 中 volatile 关键字最简单易懂的示例

    我正在读关于volatileJava 中的关键字并完全理解其中的理论部分 但是 我正在寻找的是一个很好的案例 它展示了如果变量不存在会发生什么volatile如果是的话 下面的代码片段无法按预期工作 摘自here https stackov
  • 回发后视图状态不保留

    我在保持控件回发时的视图状态时遇到一些问题 vb net 这是我在控制中放入的一些代码 Protected Overrides Sub OnInit ByVal e As System EventArgs MyBase OnInit e M
  • 如何避免在 TEdit 聚焦时按下 Escape 时发出叮当声?

    在我几年前开发的代码中 我经常使用它来随时按 Escape 键关闭当前表单 procedure TSomeForm FormKeyPress Sender TObject var Key Char begin if key 27 then
  • Shibboleth - 如何读取属性?

    我已使用 Shibboleth 成功登录到我的服务提供商测试页面 然后我转到 Shibboleth sso Session 页面 我看到以下内容 Attributes affiliation 1 value s entitlement 1
  • 我可以制作图案密码屏幕锁定 android 应用程序吗

    有人有开发应用程序来替换默认锁定屏幕的经验吗 我被告知这是不可能的 但是this http www 1mobile com pattern password screen locker 849722 html应用程序管理它 您知道的任何教程
  • 新手批量问题-创建文件

    我正在开发一个批处理程序 该程序可以扫描 PC 的各个部分 并将它们记录到文件中 令人惊讶的是 我无法让程序创建要写入的文件 然后我尝试创建一个文件 我相当确定它会起作用 如下 echo off ipconfig gt ip txt tim
  • Android:视图类和活动类的 startActivityForResult 和 setResult

    我很困惑 不知道如何使用 startActivityResults 和 setResults 从以前的活动中获取数据 我有一个视图类和一个活动类 基本上在我的视图类中 我有这个对话框 它实际上会启动称为 colorActivity 类的活动
  • 如何使 Spark 驱动程序能够适应 Master 重启?

    我有一个 Spark Standalone 不是 YARN Mesos 集群和一个正在运行的驱动程序应用程序 在客户端模式下 它与该集群通信以执行其任务 但是 如果我关闭并重新启动 Spark 主节点和工作节点 驱动程序不会重新连接到主节点