3.2.0 终极预告!云原生支持新增 Spark on k8S 支持

视频贡献者 | 王维饶

视频制作者 | 聂同学

编辑整理 | Debra Chen

Apache DolphinScheduler 3.2.0 版本将发布,为了让大家提前了解到此版本更新的主要内容,我们已经制作了几期视频和内容做了大致介绍,包括《重磅预告!Apache DolphinScheduler 3.2.0 新功能“剧透”》《3.2.0 版本预告!Apache DolphinScheduler API 增强相关功能》《3.2.0 版本预告!远程日志解决 Worker 故障获取不到日志的问题》。

今天,我们来介绍另一个用户也很关注的云原生相关功能更新。

https://www.bilibili.com/video/BV1e8411Q789/?vd_source=e59b2227d15c7740a5c5f40e4a675095

今天为各位介绍一下 Apache DolphinScheduler 3.2.0云原生的相关新功能,主要分为两个部分:

  • 对K8S任务类型的增强
  • 对Spark on K8S新功能的支持

K8S任务类型增强

我们主要是介绍三个新功能:

  • 支持自定义标签
  • 支持自定义节点选择器
  • 支持任务日志的实时收集

对于前两个功能,因为K8S本身提供了对各类对象去定义Label的能力,使得用户也可以更好地进行对象的管理。

另外,用户也可以去定义节点选择器,将对象调度到指定节点上。这两个功能在生产环境中对用户是有很大的帮助的。因此,3.2.0版本也选择去实现支持这两个功能。

日志实时收集其实是对3.1.X版本的改进。之前,Apache DolphinScheduler只会在任K8S任务执行失败的时候去收集末尾起几行错误日志,但显然实时收集全量日志是对用户更加友好的一个功能。

我们跑一个K8S类型的任务,来看一下这三点增强的效果(见视频 01:11s-03:06s)。

Spark on K8S支持

在3.2.0版本中,Apache DolphinScheduler将支持Spark提交到原生K8S集群的模式。

以事先定义好的一个Spark on K8S的工作流为例,在这个Spark任务中,我们会发现已经添加了一个新的选择框—Namespace。如果用户选择了Namespace,即它非空时,我们认为用户是期待把这个Spark任务提交到K8S集群上做执行。

同样地,在这个任务中,用户也可以去自定义他们的Option,具体可以参考Spark官网,根据自己K8S集群的状态去定义他们的Option。

在Spark on K8S的任务中,我们也会实时地收集Driverpod日志,并对Driverpod进行生命周期管理。如果当前任务是执行成功的状态,我们会将Pod删除掉;如果执行失败,Pod会保留在集群中,供用户做诊断分析。

查看运行状态(见视频04:03s-结尾)。

本文由 白鲸开源 提供发布支持!

热门相关:豪门蜜爱:独宠天后小萌妻   本法官萌萌哒   买妻种田:山野夫君,强势宠!   今天也没变成玩偶呢   大妆