Apache DolphinScheduler 远程日志存储(Remote Logging)配置指南
任务调度大数据后端前端【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址https://gitcode.com/gh_mirrors/do/dolphinscheduler点击查看免费下载Apache DolphinScheduler 支持将任务日志异步上传到远端对象存储OSS、S3、GCS、ABS并在本地日志缺失时自动从远端下载。本文以docs/docs/zh/guide/remote-logging.md为骨架结合仓库源码与配置文件模板系统讲解远程日志存储的开启方式、四个核心参数、四种对象存储的完整配置项以及背后的异步上传与按需下载实现原理帮助你在集群、伪集群或单机部署下快速落地任务日志的集中化持久存储。远程日志存储的核心工作流程默认情况下DolphinScheduler 的任务日志保存在执行节点Worker的本地文件系统中。开启远程日志存储后日志的生命周期变为两个阶段任务结束后异步上传当某个任务执行完成Worker 会触发RemoteLogUtils.sendRemoteLog(logPath)将对应的任务日志文件异步发送到remote.logging.target指定的远端存储查看/下载时按需拉取用户在 Web 界面查看或下载任务日志时如果本地文件系统没有该日志文件DolphinScheduler 会调用RemoteLogUtils.getRemoteLog(logPath)从远端存储下载对应日志到本地下载前会自动创建本地父目录见 RemoteLogUtils.java。从源码结构看远端存储的读写能力被抽象为统一的RemoteLogHandler接口并由工厂类RemoteLogHandlerFactory根据remote.logging.target动态选择实现dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/log/remote 目录下分别提供了OssRemoteLogHandler.java阿里云 OSSS3RemoteLogHandler.javaAmazon S3GcsRemoteLogHandler.javaGoogle Cloud StorageAbsRemoteLogHandler.javaAzure Blob Storage开启远程日志存储根据部署模式需要配置不同的common.properties文件集群 / 伪集群模式配置api-server/conf/common.properties、master-server/conf/common.properties、worker-server/conf/common.properties三个文件Worker 负责上传日志API Server 负责读取日志Master 与日志读写无关但部署包中同样下发该文件建议保持一致单机standalone模式只需配置standalone-server/conf/common.properties。当前源码仓库中的配置模板位于 dolphinscheduler-common/src/main/resources/common.properties所有remote.logging.*键的定义可在 Constants.java 中查到其中第 650–656 行即四个核心开关参数# 是否开启远程日志存储 remote.logging.enabletrue # 任务日志写入的远端存储目前支持OSS, S3, GCS, ABS remote.logging.targetOSS # 任务日志在远端存储上的目录 remote.logging.base.dirlogs # 设置向远端存储异步发送日志的线程池大小 remote.logging.thread.pool.size10四个参数的说明与取值要点参数默认值作用remote.logging.enablefalse总开关设为true后日志才会写入远端存储remote.logging.targetOSS远端存储类型仅支持OSS、S3、GCS、ABS四种取值remote.logging.base.dirlogs日志在远端存储上的根目录上传时日志文件会被映射到该目录下remote.logging.thread.pool.size10异步发送日志的线程池大小需根据任务并发量适当调整注意remote.logging.enable默认关闭模板中为false开启后请在 common.properties 中按需调整上述参数。异步线程池的源码实现remote.logging.thread.pool.size直接决定异步上传线程池的规格。在 RemoteLogHandleThreadPool.java 中该值同时被用作核心线程数与最大线程数线程名前缀为remote-logging-executor.setCorePoolSize(PropertyUtils.getInt(Constants.REMOTE_LOGGING_THREAD_POOL_SIZE, 10)); executor.setMaxPoolSize(PropertyUtils.getInt(Constants.REMOTE_LOGGING_THREAD_POOL_SIZE, 10)); executor.setThreadNamePrefix(remote-logging-);上传动作由 RemoteLogService.java 通过Async(remoteLogHandleExecutor)注解异步执行并在日志中记录目标存储类型因此不会阻塞任务线程。上传触发的调用链任务执行完成后Worker 侧调用入口位于 WorkerTaskExecutor.java 的RemoteLogUtils.sendRemoteLog(taskExecutionContext.getLogPath())。sendRemoteLog内部先判断开关是否开启再转交RemoteLogService异步发送日志在远端存储上的对象路径由RemoteLogUtils.getObjectNameFromLogPath计算其逻辑是用remote.logging.base.dir作为远端前缀拼上本地日志根目录之后的相对路径见 RemoteLogUtils.java。将任务日志写入阿里云对象存储OSS选择remote.logging.targetOSS时需要在common.properties中补充以下四项配置# oss access key id, required if you set remote.logging.targetOSS remote.logging.oss.access.key.idaccess.key.id # oss access key secret, required if you set remote.logging.targetOSS remote.logging.oss.access.key.secretaccess.key.secret # oss bucket name, required if you set remote.logging.targetOSS remote.logging.oss.bucket.namebucket.name # oss endpoint, required if you set remote.logging.targetOSS remote.logging.oss.endpointendpointremote.logging.oss.access.key.id/remote.logging.oss.access.key.secret阿里云账号的 AccessKey 对需具备对目标 Bucket 的读写权限remote.logging.oss.bucket.name存放任务日志的 OSS Bucket 名称remote.logging.oss.endpointOSS 服务的访问端点形如https://oss-cn-hangzhou.aliyuncs.com参考模板 common.properties 中的资源存储同类型配置注释。对应的上传与下载逻辑由OssRemoteLogHandler实现仓库中可通过dolphinscheduler-common模块的测试资源与配置模板交叉验证字段名。将任务日志写入 Amazon S3选择remote.logging.targetS3时配置如下# s3 access key id, required if you set remote.logging.targetS3 remote.logging.s3.access.key.idaccess.key.id # s3 access key secret, required if you set remote.logging.targetS3 remote.logging.s3.access.key.secretaccess.key.secret # s3 bucket name, required if you set remote.logging.targetS3 remote.logging.s3.bucket.namebucket.name # s3 endpoint, required if you set remote.logging.targetS3 remote.logging.s3.endpointendpoint # s3 region, required if you set remote.logging.targetS3 remote.logging.s3.regionregion与 OSS 相比S3 多了一个必填的remote.logging.s3.regionBucket 所在区域。endpoint字段使该配置同样适用于兼容 S3 协议的其他对象存储如 MinIO 等自建服务S3RemoteLogHandler内部基于该 endpoint 构造客户端。将任务日志写入 Google Cloud StorageGCS选择remote.logging.targetGCS时配置如下# the location of the google cloud credential, required if you set remote.logging.targetGCS remote.logging.google.cloud.storage.credential/path/to/credential # gcs bucket name, required if you set remote.logging.targetGCS remote.logging.google.cloud.storage.bucket.nameyour-bucketGCS 使用服务账号凭证文件进行认证remote.logging.google.cloud.storage.credential指向本地的 Google Cloud 服务账号 JSON 凭证文件路径需要保证运行 DolphinScheduler 的机器对该路径可读remote.logging.google.cloud.storage.bucket.name存放日志的 GCS Bucket 名称。将任务日志写入 Azure Blob StorageABS选择remote.logging.targetABS时配置如下# abs account name, required if you set resource.storage.typeABS remote.logging.abs.account.nameyour-account-name # abs account key, required if you set resource.storage.typeABS remote.logging.abs.account.keyyour-account-key # abs container name, required if you set resource.storage.typeABS remote.logging.abs.container.nameyour-container-nameremote.logging.abs.account.nameAzure 存储账号名称remote.logging.abs.account.key存储账号的访问密钥remote.logging.abs.container.name存储容器Container名称日志会写入该容器下。注意事项由于 Azure Blob Storage 不支持空目录单独存在因此资源目录下会出现空文件no name。但这并不影响 DolphinScheduler 资源中心上的文件展示可以放心使用。结语远程日志存储让 DolphinScheduler 的任务日志不再局限于各 Worker 节点的本地磁盘从而支持日志的集中归档、审计与跨节点检索。启用时只需在common.properties中打开remote.logging.enable、指定remote.logging.target并按对应云厂商补齐认证与 Bucket 配置即可若需加深理解可继续阅读 RemoteLogService.java、RemoteLogUtils.java 以及配置模板 common.properties。赞分享任务调度大数据后端前端【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址https://gitcode.com/gh_mirrors/do/dolphinscheduler点击查看免费下载相关推荐Apache DolphinScheduler 远程日志Remote Logging配置与实现原理详解Apache DolphinScheduler 远程日志Remote Logging配置与实现原理详解 本指南围绕 Apache DolphinSchedu任务调度大数据后端前端Apache DolphinScheduler 远程日志Remote Logging完整配置指南支持 OSS、S3、GCS、ABSApache DolphinScheduler 远程日志Remote Logging完整配置指南支持 OSS、S3、GCS、ABS Apache Dolp任务调度数据编排工作流自动化后端大数据Apache DolphinScheduler 远程日志存储配置指南OSS / S3 / GCS / ABS 全接入Apache DolphinScheduler 远程日志存储配置指南OSS / S3 / GCS / ABS 全接入 Apache DolphinSchedu任务调度数据编排工作流自动化后端大数据创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

新闻管理系统|SpringBoot + Vue 毕业设计完整方案

新闻管理系统|SpringBoot + Vue 毕业设计完整方案

📰 新闻管理系统|SpringBoot Vue 毕业设计完整方案 🚀 2026 全新升级 保姆级源码 论文 答辩 PPT 演示视频 👉 文末留言即可免费领取整套毕业设计资料包 🎯 一套搞定毕设:源码可跑、论文可写、答辩可说…

2026/9/23 21:32:27 阅读更多 →
Relay `loadEntryPoint` 权威指南:以 “render-as-you-fetch“ 模式命令式预加载 EntryPoint 数据

Relay `loadEntryPoint` 权威指南:以 “render-as-you-fetch“ 模式命令式预加载 EntryPoint 数据

Relay loadEntryPoint 权威指南:以 "render-as-you-fetch" 模式命令式预加载 EntryPoint 数据 【免费下载链接】relay Relay is a JavaScript framework for building data-driven React applications. 项目地址: https://gitcode.com/gh_mirrors/relay…

2026/9/23 21:32:27 阅读更多 →
技术博文标题设计规范与输入完整性要求

技术博文标题设计规范与输入完整性要求

我无法基于“2021-10-30”这一纯日期型标题生成符合要求的高质量博文。原因如下:该标题不具备可拆解的项目属性:无技术载体(如软件、硬件、协议、工具)、无明确动作(如“搭建”“修复”“迁移”“优化”)、…

2026/9/23 21:32:27 阅读更多 →

最新新闻

Mockery 参数验证(Argument Validation)指南:掌握 with() 匹配器与 Hamcrest 对照用法

Mockery 参数验证(Argument Validation)指南:掌握 with() 匹配器与 Hamcrest 对照用法

示例工程数据库教程后端 【免费下载链接】sql-server-samples Azure Data SQL Samples - Official Microsoft GitHub Repository containing code samples for SQL Server, Azure SQL, Azure Synapse, and Azure SQL Edge 项目地址: https://gitcode.com/gh_mirrors…

2026/9/23 23:39:59 阅读更多 →
TCP长连接选择响应:从粘包半包到可靠按需回包实战

TCP长连接选择响应:从粘包半包到可靠按需回包实战

简介:TCP选择响应是计算机网络传输层可靠传输机制的经典实验课题。这份资源面向正在学习计算机网络、需要完成TCP大实验或深入理解选择重传协议的高校学生与研究者,围绕“选择响应版本”提供了完整的实验工程。压缩包共24个文件,体积仅1.05MB…

2026/9/23 23:39:59 阅读更多 →
Presto 0.259 版本解析:Weibull 分布函数、内存错误增强与资源组查询限制

Presto 0.259 版本解析:Weibull 分布函数、内存错误增强与资源组查询限制

大数据数据库后端 【免费下载链接】presto The official home of the Presto distributed SQL query engine for big data 项目地址: https://gitcode.com/gh_mirrors/pre/presto 点击查看 免费下载 导读 Presto 0.259 是 PrestoDB(GitHub 加速计划 / …

2026/9/23 23:39:59 阅读更多 →
Terminal.Gui 导航系统深入解析:焦点管理、Tab 遍历与键盘/鼠标导航实战指南

Terminal.Gui 导航系统深入解析:焦点管理、Tab 遍历与键盘/鼠标导航实战指南

UI组件跨平台桌面应用 【免费下载链接】Terminal.Gui Cross Platform Terminal UI toolkit for .NET 项目地址: https://gitcode.com/gh_mirrors/te/Terminal.Gui 点击查看 免费下载 导读 本文全面剖析 Terminal.Gui(跨平台 .NET 终端 UI 工具包&#…

2026/9/23 23:39:59 阅读更多 →
CNN风格迁移原理与PyTorch实现:从Gram矩阵到VGG特征优化

CNN风格迁移原理与PyTorch实现:从Gram矩阵到VGG特征优化

简介:一份基于CNN卷积神经网络实现图像风格迁移的Python项目完整源码,主要面向计算机相关专业正在准备毕业设计、课程设计或期末大作业的学生,也适合需要项目实战练习的初中级开发者。项目经过导师指导并获高分评价,代码结构完整、…

2026/9/23 23:39:59 阅读更多 →
信号分析与处理实验全链路:从采样到滤波器设计的MATLAB实现

信号分析与处理实验全链路:从采样到滤波器设计的MATLAB实现

简介:这份资源是南京邮电大学「信号分析与处理实验」课程的完整实验报告,面向正在修读数字信号处理、信号与系统相关课程的高校学生,以及需要借助 MATLAB 完成实验与课程设计的自学者。报告覆盖信号的产生和运算、连续时间信号的频域分析、信…

2026/9/23 23:38:58 阅读更多 →

日新闻

3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A…

2026/9/23 0:00:23 阅读更多 →
2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我

2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我

2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我 刚把开发环境的显示器从1080P换到2K,跑老项目直接报错,版本升级后 API…

2026/9/23 0:01:25 阅读更多 →
3步搞定美眉图实战项目,告别官方文档抓不住重点

3步搞定美眉图实战项目,告别官方文档抓不住重点

3步搞定美眉图实战项目,告别官方文档抓不住重点 官方文档翻了三遍还是云里雾里?别急,美眉图在实战项目中常被用来做数据可视化,但它的原理比你想的简单。今天咱们直接上手,用一个完整的小项目把美眉图跑通,不再死磕那些冗长的理论说明。…

2026/9/23 0:01:25 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/23 4:55:02 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/23 4:49:06 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/23 9:53:41 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/23 9:53:40 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/23 9:53:40 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/23 9:53:40 阅读更多 →