DolphinScheluer 冷门问题 error=2, No such file or directory

本文记录了解决DolphinScheduler在执行时出现'error=2, No such file or directory'问题的过程。问题源于Linux环境中缺少sudo命令,通过安装sudo并重启DolphinScheduler成功解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DolphinScheluer 冷门问题 error=2, No such file or directory
记录一个冷门问题,困扰了好久,这个问题属实偏

当我安装好DolphinScheluer后,创建租户并新建用户,新用户重新登录,新建项目管理,创建工作流,编写脚本如下
在这里插入图片描述
在这里插入图片描述

然后上线(未配置定时),运行
当我以为肯定可以的时候,运行失败了,报错如下

[ERROR] 2022-06-14 07:18:55.421  - [taskAppId=TASK-2-6-25]:[106] - shell task error
java.io.IOException: Cannot run program "sudo" (in directory "/opt/module/dolphinscheduler/workdata/exec/process/1/2/6/25"): error=2, No such file or directory
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
	at org.apache.dolphinscheduler.server.worker.task.AbstractCommandExecutor.buildProcess(AbstractCommandExecutor.java:156)
	at org.apache.dolphinscheduler.server.worker.task.AbstractCommandExecutor.run(AbstractCommandExecutor.java:191)
	at org.apache.dolphinscheduler.server.worker.task.shell.ShellTask.handle(ShellTask.java:101)
	at org.apache.dolphinscheduler.server.worker.runner.TaskExecuteThread.run(TaskExecuteThread.java:139)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: error=2, No such file or directory
	at java.lang.UNIXProcess.forkAndExec(Native Method)
	at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
	at java.lang.ProcessImpl.start(ProcessImpl.java:134)
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
	... 9 common frames omitted

在这里插入图片描述
我以为是conf下的env里的jdk没配好,【我想简单了,想哭】,结果配好也没有解决问题,网上大家安装的都很顺利,没有遇到像我一样的问题【也可能是我没找到】,又重新过了遍所有配置文件,没有发现问题,只能扒源码了,我的问题主要在这里
在这里插入图片描述
从代码上看,是dolphinscheluer自身在指定目录创建这两个文件
在这里插入图片描述
读错误日志分析后,以为是海豚调度版本的问题,换了版本之后也还报同样的问题(我彻底懵了)
没办法,只能继续分析源码,创建文件之后,会执行如下命令

sudo su 用户名(登录用户) sh 2_6_25_node.sh

然后我建了一个测试脚本测一下命令,问题就找到了!!!当我执行

sudo su root (我用的root用户登录的)

给我报错

sudo command not found

我去,我部署的这几台机器的linux竟然没有配置sudo命令(这谁能想到,太难了)
安装sudo命令,为dolphinscheluer的所有工作机器都安装上

yum install -y sudo

在这里插入图片描述
然后重启dolphinscheluer就解决问题了(终于解决了!!!)
查看工作流任务实例如下
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值