Apache Spark 在 YARN 中部署时如何处理系统故障?
Posted
技术标签:
【中文标题】Apache Spark 在 YARN 中部署时如何处理系统故障?【英文标题】:How does Apache Spark handles system failure when deployed in YARN? 【发布时间】:2014-07-15 15:49:53 【问题描述】:前提条件
假设 Apache Spark 使用 YARN 部署在 hadoop 集群上。此外,火花执行正在运行。 spark如何处理下列情况?
案例和问题
-
hadoop 集群的一个节点由于磁盘错误而失败。但是复制足够高,没有数据丢失。
在该节点上运行的任务会发生什么?
hadoop 集群的一个节点由于磁盘错误而失败。复制不够足够高,数据丢失。只是 spark 无法再找到预先配置为工作流资源的文件。
它将如何处理这种情况?
在执行期间,主名称节点故障转移。
spark 是否自动使用了故障转移名称节点?
如果辅助 namenode 也失败了会发生什么?
由于工作流程中的某些原因,集群完全关闭。
spark 会自动重启集群吗?
它会在工作流程中恢复到最后一个“保存”点吗?
我知道,有些问题可能听起来很奇怪。无论如何,我希望你能回答一些或全部。 提前致谢。 :)
【问题讨论】:
你为什么不试试呢?在我看来,这看起来并不难。 @ThomasJungblut 如果他尝试这些东西并恢复火花,他不一定知道如何或为什么,更不用说尝试这些东西需要很多时间,而且可能需要金钱,如果有人立即知道答案,这对看到此问题的人会有所帮助 @ThomasJungblut Spark 可能有本地模式,但它不模拟纱线。此外,我还没有硬件,想尽可能多地了解 spark,因为我不确定我们是否会使用它。创建一个完整的设置(单节点上的hadoop+spark)超出了范围并且花费了很多时间。因此,我想看看体验是什么。 @aaronman 我不使用 spark,但他们的论文回答了两个问题。其余由 Hadoop 设计文档提供。除此之外,这对于***来说是题外话,我认为你不需要一个集群。使用 Whirr 在云中启动两个虚拟机并检查一下 - 最高 30 美元。 @ThomasJungblut 是的,问题已由论文回答,但纱线上的情况可能会有所不同,如果您承认可能要花 30 美元无缘无故地支付这笔费用。这个问题完全是关于主题的,它询问 spark 的恢复机制以及在 YARN 上部署是否会影响恢复 【参考方案1】:以下是the mailing list 对问题的回答(Cloudera 的 Sandy Ryza 提供的答案):
-
“Spark 将在不同的节点上重新运行这些任务。”
“在多次尝试读取块失败的任务尝试后,Spark 将忽略 HDFS 返回的任何错误并导致作业失败。”
“Spark 通过普通的 HDFS 客户端 API 访问 HDFS。在 HA 配置下,这些将自动故障转移到新的 namenode。如果没有留下 namenode,Spark 作业将失败。”
重新启动是管理的一部分,“Spark 支持对 HDFS 进行检查点,因此您可以返回到上次调用检查点时 HDFS 可用。”
【讨论】:
如果它是公开的,您能否提供一个指向相关邮件列表线程的链接? @Jayraj 我在答案中添加了所需的链接! 谢谢!真快! 回答 4. 是说当服务器重新启动时,spark会继续这个过程吗?从上一个保存点开始?以上是关于Apache Spark 在 YARN 中部署时如何处理系统故障?的主要内容,如果未能解决你的问题,请参考以下文章