Apache DolphinScheduler 3.2.0 版本曾经跃然纸上,8 月 中下旬,这个大版本就要和用户见面了。为了让大家提前理解到此版本更新的次要内容,咱们曾经制作了几期视频和内容做了大抵介绍,包含《重磅预报!Apache DolphinScheduler 3.2.0 新性能“剧透”》、《3.2.0 版本预报!Apache DolphinScheduler API 加强相干性能》。
明天,咱们来介绍另一个用户比较关心的新性能——Remote logging(近程日志),看看是否能帮忙你的工作变得更简略吧!
https://www.bilibili.com/video/BV1U14y1q74N/?spm_id_from=333….
明天由为大家介绍 Apache DolphinScheduler 3.2.0 的一个新个性,叫做 Remote logging。咱们会从三个局部来阐明这个性能,第一,它是什么,解决什么问题;第二,它如何配置;第三,咱们怎么去应用它?
近程日志是什么?解决什么问题?
在没有这个性能之前,咱们的工作日志流向是这样子的,工作运行完的时候,Worker 会将日志写到 Worker 本地,当用户须要去查看工作日志的时候,咱们会发送申请这个 Worker 的日志,而后展现给用户。当一些意外状况呈现,导致这个 Worker 的日志不存在,或者是这个 Worker 不存在的时候,用户在页面上就看不了日志了。
然而有了 Remote Logging,这个问题就能失去比拟好的解决。它整体的流程如下所示:
咱们只是减少了这条线的局部以及上面 Remote Logging 的局部,当咱们的 Worker 将日志写到本地的时候,会有个异步线程将写到本地的 log 同步到 Remote Logging。当一些意外状况产生导致日志失落,但用户想要看日志详细信息的时候,咱们会有个申请将日志从远端拉到本地,而后本地返回。
为什么咱们要设置这样一个动作呢?这样做首先能保障接口的一致性,就是日志全部都是从 Worker 发送给 API Server,而后去读取的。其次是尽量减少咱们远端的带宽,只有当本地日志缺失的时候,咱们才会去下载远端的日志。
如何配置?
接下来咱们疾速阐明一下如何配置 Remote Logging。在咱们的发版文件里会有对于如何启动和配置的简略介绍。
首先,咱们要批改 Common Properties 文件,将这个 remote.logging.enable 设置存储并且设置为你想要存储的远端存储介质。目前咱们反对了 OSS、S3 和 GCS。
其次就是一些第三方远端存储的配置,比方 AccessKey、Secret 以及对应的 bucket 和 region 等。
如何应用?
咱们回到页面,体验一下 Remote Logging 是如何应用,以及咱们是如何判断它是失效的。
咱们这里有一个简略的工作流,它只有两个工作,别离打印了 1 和 2 这两个信息。手动触发这个工作流并察看日志,看看它是否失常地被写到远端。
当咱们触发了工作流运行,并且工作流是运行胜利的,咱们将日志写到远端。当工作被运行胜利的时候,咱们就开始写日志了。
这一行就能很显著地看到,日志被写胜利之后,会同时有一个异步线程将日志同步到远端的存储。
因为咱们这里应用的是 S3,它将本地的门路的日志同步了一份到远端。回到 S3 的页面,能够看到 log 曾经存在了。
接着咱们模仿一下当本地 Worker 的日志缺失的时候,咱们如何去读日志。咱们手动将这个日志文件删除,能够看到这个文件夹上面有两个日志文件,别离是 3 和 4。将这两个文件都删除,能够看到这里曾经没有对应的日志文件了。
此时,如果是之前的版本,咱们曾经不能查看最新的 instance 的日志文件了,然而有了 Remote Logging,就会发现本地不存在这个日志,将日志从远端下载到本地给用户查看。
模仿一下,这里咱们点击查看工作日志,会发现工作日志曾经被显示进去了。再去查看一下本地文件,会发现刚刚不存在的日志曾经下载下来了,并且只下载了咱们须要的那一个。
接下来看看另一个工作的日志,同样发现是能被显示的,本地的两个日志文件也被下载下来了。查看服务日志,咱们发现它曾经检测到日志文件不在本地呈现,会去远端获取这个日志文件。
这就是 Remote Logging 性能的大抵介绍,如果它能解决你的问题,欢送在 8 月中下旬公布 3.2.0 版本的时候,降级版本来体验一下!
本文由 白鲸开源科技 提供公布反对!