DolphinScheduler 资源中心无法上传大文件

embedded/2024/10/9 1:54:09/

服务:dolphinscheduler

版本:v3.16

问题描述:资源中心-文件管理中使用文件上传是出现中断或上传失败

排除思路:

  1. 测试小文件或其他类型文件时是否正常;
  2. F12查看接口调用成功以及失败时的对比,发现接口调用超过15s时自动中断上传,以为是nginx导致;
  3. 新增配置nginx配置:client_max_body_size、client_header_timeout、client_body_timeout等,后测试无效。
  4. 查看官网已经Github issue是否有相同或类似问题,最终在github dolphinscheduler issue中找到此问题原因 。

问题原因:

  • 原因在前端用axios 提交时设置了超时时间为15s,导致在上传过程中前端超时提前中断了, 见下面在ui service.ts的代码片段部分,修改加大timeout时间后上传大文件通过
    const baseRequestConfig: AxiosRequestConfig = { baseURL: import.meta.env.MODE === ‘development’ ? ‘/dolphinscheduler’ : import.meta.env.VITE_APP_PROD_WEB_URL + ‘/dolphinscheduler’, timeout: 15000,

解决方案:

/api-server/ui/assets/service.766f4632.js
/api-server/ui/assets/service.766f4632.js.gz/ui/assets/service.766f4632.js
/ui/assets/service.766f4632.js.gz

需要修改以上4 个文件,并找到以下配置 baseURL:“/dolphinscheduler”,timeout:15e3,然后将 15e3 修改为 15e5 或更大。

参考链接:

  • https://dolphinscheduler.apache.org/zh-cn/support
    在这里插入图片描述
  • https://github.com/apache/dolphinscheduler/issues/10340

http://www.ppmy.cn/embedded/124820.html

相关文章

C++面试速通宝典——9

170. 简述数组和指针的区别? ‌‌‌‌  答:数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。指针可以随时指向任意类型的内存块。 1. 修改内容上的区别 char a[] “hello”; a[0] ‘X’; char * p …

rust gio-rs 挂载 samba 磁盘

linux 使用的 gio 管理工具 这个工具如下 这是 gio 的rust版本 https://crates.io/crates/gio 可以用 rust 语言实现下面所有操作 gio mout 挂载 samba 如下 //https://valadoc.org/gio-2.0/GLib.MountOperation.html pub async fn gio_mount(uri路径:&str, 用户名:Opti…

OpenStack Yoga版安装笔记(十五)Horizon安装

1、官方文档 OpenStack Installation Guidehttps://docs.openstack.org/install-guide/ 本次安装是在Ubuntu 22.04上进行,基本按照OpenStack Installation Guide顺序执行,主要内容包括: 环境安装 (已完成)OpenStack…

WPF下使用FreeRedis操作RedisStream实现简单的消息队列

Redis Stream简介 Redis Stream是随着5.0版本发布的一种新的Redis数据类型: 高效消费者组:允许多个消费者组从同一数据流的不同部分消费数据,每个消费者组都能独立地处理消息,这样可以并行处理和提高效率。 阻塞操作:消费者可以设置阻塞操作,这样它们会在流中有新数据…

APP自动化搭建与应用

APP自动化环境搭建 用于做APP端UI自动化,adb连接手机设备。 需要的工具java编辑器:jdk、Android-sdk软件开发工具组、appium的python客户端、nodes.js、夜神模拟器、apk包、uiautomatorviewer 第一步:安装sdk,里面包含建立工具bu…

String、StringBuilder

internal class Mainclus { internal static void Main(string[] args) { //创建方式 string a = "*world"; string new1 = "hello*world"; string new2 = "hello" + "*world"; …

17 链表——21. 合并两个有序链表 ★

17 链表 21. 合并两个有序链表 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 算法设计: 合并两个有序链表,并保持有序性,可以采用迭代法和递归法两种…

283。移动零

题目:283. 移动零 - 力扣&#xff08;LeetCode&#xff09; 思路:将非0数移动到前面&#xff0c;后面的直接用0赋值 代码: class Solution { public:void moveZeroes(vector<int>& nums) {int slow 0;for(int fast 0 ; fast <nums.size(); fast){if(nums[fas…