视频贡献者 | 王维饶
视频制作者 | 聂同学
编辑整理 | 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-结尾)。
本文由 白鲸开源科技 提供发布支持!