Apache Dolphinscheduler1.3.0 datax节点 Directory could not be created
一、问题
报错:
[ERROR] 2020-06-17 10:31:19.709 - [taskAppId=TASK-3-15-15]:[170] - datax task failure
java.io.IOException: Directory '/tmp/dolphinscheduler/exec/process/1/3/15/15' could not be created
at org.apache.commons.io.FileUtils.openOutputStream(FileUtils.java:363)
at org.apache.commons.io.FileUtils.writeStringToFile(FileUtils.java:1928)
at org.apache.commons.io.FileUtils.writeStringToFile(FileUtils.java:1895)
at org.apache.dolphinscheduler.server.worker.task.datax.DataxTask.buildDataxJsonFile(DataxTask.java:227)
at org.apache.dolphinscheduler.server.worker.task.datax.DataxTask.handle(DataxTask.java:161)
at org.apache.dolphinscheduler.server.worker.runner.TaskExecuteThread.run(TaskExecuteThread.java:127)
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:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
配置:
select column from tablename
二、解决
在每个worker节点上赋予权限就好
方法一:
su root
chmod 777 -R /tmp/dolphinscheduler
反思,权限没有控制的很精细,有一定安全风险
方法二:
chown -R dolphinscheduler:dolphinscheduler /tmp/dolphinscheduler
思路:dolphincheduler启动任务应该是用dolphinscheduler用户启动的,只需要把文件夹的所有者和所有组改成安装用户即可。