准确的电话号码和 WhatsApp 号码提供商。 如果您想要电子邮件营销活动列表或短信营销活动,那么您可以联系我们的团队。 @xhie1

在过去的三个月中直在基于


构建的开源 PaaS Pipeline上运行并支持 Spark 部署。我们一直在突破 Spark 在 Kubernetes 上的极限,并且看到了一些有趣的情况,例如检查点吞吐量故障、各种 Pod 或基础设施故障,以及最近在现场实例上运行的节点故障/节点终止。幸运的是,其中大多数问题都受到我们的开源高级监控解决方案和弹性云管理警报反应系统Hollowtrees 的监控、引起我们的注意并自动解决。然而,有必要对 Apache Spark 本身进行修复。 在这篇《Kubernetes 上的 Apache Spark》系列博客文章中,我们将讨论如何使 Spark 应用程序能够适应 Kubernetes 上的节点故障。如之前的博文中所述,当用户提交 Spark 应用程序时,会涉及以下 Spark 组件: 火花驱动器 火花执行器 外部洗牌服务 和 Spark 资源暂存服务器 回顾一下,这里是一个包含上述组件的 Spark 流。有关 Kubernetes 上的 Spark 的综合指南,请务必阅读我们的Kubernetes 上的 Apache Spark 系列。 我们分别研究这些组件中的每一个。

火花执行器 Spark 执行器

与 结合使用,已经能够抵御故障。生成的随机数据存储在外部服务 中,因此如果崩溃,这些数据不会丢失。此外,还将重新安排因失败而在飞行中丢失或未完成的任务。es 确保它在集群的每个节点上运行。如果一个节点丢失,当它恢复时(或者将新的替换节点添加到集群中),Kubernetes 澳大利亚 WhatsApp 号码列表 将负责在其上启动一个实例。当然,当一个节点死亡并且无法恢复时,该节点上存储的shuffle数据就会丢失。在这种情况下,需要重新安排必要的任务来重新执行以获得任何缺失的临时结果。 daemonset External shuffle service External shuffle service External shuffle service Spark driver 火花驱动器 我们已经开放了以下 Apache Spark Jira票证和相关的 GitHub拉取请求,以使 Spark 驱动程序能够应对故障。虽然没那么快,但这里有一个微妙的问题必须解决。当驱动程序终止时,其执行程序(可能在其他节点上运行)会被 Kubernetes 延迟终止。

我们通过使每个驱动程

序实例的执行程序名称都是唯一的来解决这个问题。请注意,之前的驱动程序和执行程序 pod 名称如下所示执行器 Pod 通过使驱动程序成为 Kubernetes ,并且每个驱动程序的执行程序名称都是唯一的,现在看起来像执行器 Pod Spark 资源暂存服务器 仅当 Spark 应用程序  所需的工件(jar、文件)驻留在发出命令的本地计算机上时,才会使用 Spark 资源临时服务器。 spark-submit 目前,该组件将上传的文件存储在 Pod 本地目录中。因此,如果资源登台服务器丢失然后重新启动,则该服务器存储的文 BQB 目录 件也会丢失。这意味着在初始化期间重新安排到不同节点的 Spark 驱动程序将无法从资源暂存服务器下载必要的文件。 因此,我们可以确认资源暂存服务器无法抵御故障。我们正在努力使该服务器具有弹性。请参阅我们的下一篇博文,详细了解我们如何实现这一目标。 与往常一样,我们将所有使 Spark 对 Kubernetes 故障具有弹性的更改贡献给社区。 

About the Author

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

You may also like these