首页 > 其他分享 >DolphinScheduler日志乱码、worker日志太多磁盘报警、版本更新导致不兼容怎么办?

DolphinScheduler日志乱码、worker日志太多磁盘报警、版本更新导致不兼容怎么办?

时间:2024-06-18 16:25:51浏览次数:13  
标签:shell DolphinScheduler worker 乱码 任务 日志 执行

file

作者 | 刘宇星

本文作者总结了在使用Apache DolphinScheduler过程中遇见过的常见问题及其解决方案,包括日志出现乱码、worker日志太多磁盘报警、版本更新导致不兼容问题等,快来看看有没有困扰你想要的答案吧!

  1. DolphinScheduler集群环境有多台worker(worker1, worker2, worker3),多个任务节点串行执行时,因为worker在不同服务器上,执行调度任务需要的文件需要每个worker上传非常麻烦/后面执行的任务读取不到前面任务执行后生成的文件/数据,怎么办?

可以在worker之间配置共享目录,如NFS,具体配置方式参考 https://blog.csdn.net/Dark_Tk/article/details/114100517。

或者配置worker组,只包含一个worker1,指定运行该工作流的worker组。

  1. 用shell节点执行shell脚本时,中间某个命令执行报错但没有中断退出,而是继续执行,最后一行命令执行成功后整个节点的执行状态也是成功,导致节点任务状态与预期不符怎么办?

在当前脚本第一行加上

set -xeuo pipefail

后,脚本中的命令执行报错后会立即退出(注意,该命令只对当前bash环境生效且无法继承,对执行脚本的子环境不生效)。

  1. 日志出现乱码怎么办?

DolphinScheduler添加启动参数 -Dfile.encoding=utf-8 执行echo $LANG检查系统编码是否为 zh_CN.UTF-8 ,如不是则修改LANG环境变量为该值。

  1. DolphinSchedulr worker的日志太多太大了,磁盘经常警告空间不足,怎样配置实现自动清理日志?

在每个服务的 conf 目录下都有 logback-spring.xml 可以配置日志清理策略,根据需要自行配置。

<configuration>
 <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_FILE}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <fileNamePattern>${LOG_FILE}-%d{yyyy-MM-dd}.%i.gz</fileNamePattern>
            <!--单个日志文件的最大体积-->
            <maxFileSize>100MB</maxFileSize>
            <!--日志保留时长 30天-->
            <maxHistory>30</maxHistory>
            <!-- 所有归档日志文件的总大小 -->
            <totalSizeCap>20GB</totalSizeCap>
            <!-- 是否在应用启动的时候删除历史日志 -->
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
            <charset>utf8</charset>
        </encoder>
    </appender>
  <root level="DEBUG">
    <appender-ref ref="FILE" />
  </root>
  <configuration>
  1. DolphinScheduler任务插件太复杂/不会用/版本更新导致潜在的不兼容问题,怎么处理?

任务插件的使用可以查看官方文档 https://dolphinscheduler.apache.org/zh-cn/docs/3.2.1/功能介绍_menu/任务类型_menu

推荐使用shell替代其他任务节点类型,其他类型的任务插件本质上也是在执行shell或有等效的命令行,当然这要求开发人员对相关任务命令行的使用也提出了更高的要求,好处是用shell更灵活,更解耦和,自行权衡利弊使用。

  1. 插件里的内容不方便做版本对比,怎么处理?

建议针对业务内容维护单独的git仓库,更方便做版本对比和留痕。

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

标签:shell,DolphinScheduler,worker,乱码,任务,日志,执行
From: https://www.cnblogs.com/DolphinScheduler/p/18254560

相关文章

  • 日志监测与文件句柄数监控推送脚本
    点击查看代码#!/bin/bashecho`date`#获取最新的错误计数new_error_count_8080=$(grep"Toomanyopenfiles"/var/log/router/8080/error.log|wc-l)new_error_count_8181=$(grep"Toomanyopenfiles"/var/log/router/8181/error.log|wc-l)......
  • java 使用Log4j进行日志记录
    要在Java项目中使用Log4j进行日志记录,需要经过以下步骤:添加Log4j依赖:在项目的pom.xml文件中,添加Log4j依赖。例如:<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency>创建Log4j配置文件:......
  • 【C/C++】实现高性能日志轮转功能,已实测
    基本实现在C语言中实现日志文件轮转功能,你需要手动编写代码来处理文件的重命名、压缩和删除。下面是一个简单的C语言程序示例,它演示了如何实现基本的日志文件轮转功能。这个程序会检查日志文件的大小,如果超过预设的大小限制,则将当前日志文件重命名,并创建一个新的日志文件。......
  • 解决 JMeter 返回内容中文乱码问题的详细指南
    前言在使用ApacheJMeter进行性能测试时,处理中文字符可能会遇到乱码问题。这不仅影响测试结果的正确性,还会导致测试报告难以理解。本文将详细介绍如何解决JMeter返回内容中的中文乱码问题,从配置文件设置到编码转换,帮助测试工程师顺利进行性能测试。常见的中文乱码问题在JM......
  • 如何解决c++使用mysql数据库读取中文输出时乱码问题
    使用vs写c++输出数据库中文时出现乱码设置utf-8还是不行这是数据库的内容这是输出:在网上找有说改成utf-8的格式,加入这样一句:mysql_query(conn,"setnamesutf8");效果就是这样:发现错误依旧,询问群友后修改,需要在连接数据库的函数中加入如下一句:mysql_query(conn,"set......
  • yolov5训练日志
       (wind_2021)J:\PytorchProject\yolov5_train_pest_2024061501>(wind_2021)J:\PytorchProject\yolov5_train_pest_2024061501>(wind_2021)J:\PytorchProject\yolov5_train_pest_2024061501>pythontrain_20230320.py--img-size640--batch-size2......
  • solidity byte32转字符串日志输出学习
    直接上代码://SPDX-License-Identifier:MITpragmasolidity^0.8.0;abstractcontractEIP712{eventLogValues(bytes32domainSeparator,bytes32structHash);function_hashTypedDataV4(bytes32structHash)internalvirtualreturns(bytes32){......
  • Qt/C++音视频开发77-获取本地有哪些摄像头名称/ffmpeg命令日志方式
    一、前言上一篇文章讲使用ffmpeg函数接口去获取本地摄像头信息,这种方式只能从ffmpeg5版本开始才具备,那ffmpeg3/4只能干瞪眼?那肯定不行的,必须要想办法打通这个功能,查阅信息发现可以执行命令ffmpeg-fdshow-list_devicestrue-idummy去获取,会通过日志打印出来,这是一个非常好......
  • 【工具推荐】MobaXterm远程终端管理工具史上最全攻略,涉及下载、安装、字体等配置、解
    【强烈推荐】MobaXterm远程终端管理工具史上最全攻略,涉及下载、安装、字体等配置、解决中文乱码、Telnet/ssh/Serial使用教程、高级功能使用技巧等。MobaXterm是一个增强型的Windows终端。其为Windows桌面提供所有重要的远程网络终端工具(如SSH、X11、RDP、VNC、FTP、S......
  • 【DevOps】Logstash详解:高效日志管理与分析工具
    在现代软件开发和运维过程中,日志管理与分析是至关重要的环节。日志可以帮助我们追踪系统行为、诊断问题、优化性能以及确保安全合规。Logstash,作为ELKStack(Elasticsearch、Logstash、Kibana)的核心组件之一,是一个功能强大、灵活易用的日志收集、处理和转发工具。本文将详细介绍......