1、tmp/dolphinscheduler/exec/process 下文件创建失败问题
dolphinscheduler调度datax任务时需要在tmp/dolphinscheduler/exec/process 目录下创建一系列临时文件,但是在worker运行日志中/opt/soft/dolphinscheduler/logs/dolphinscheduler-worker.log看到创建失败的报错
[taskAppId=TASK-1-10-13]:[178] - datax task failure
java.io.IOException: Directory ‘/tmp/dolphinscheduler/exec/process/1/1/10/13’ could not be created
发现该目录的权限是root,我dolphinscheduler是安装在dolphin用户下的,所以我要修改该机器的tmp文件权限
$ sudo chown -R dolphin:dolphin tmp
2、datax环境变量设置问题
使用dolphinscheduler调度datax任务时,数据源、任务都能创建成功,就是运行总是失败,还直接看不到日志,然后登录运行的worker机器,查看/opt/soft/dolphinscheduler/logs/dolphinscheduler-worker.log日志文件,看到提示ERR
[INFO] 2021-11-09 11:25:35.446 - [taskAppId=TASK-1-11-14]:[138] - -> python2.7: can’t open file ‘/opt/soft/datax/bin/datax.py/bin/datax.py’: [Errno 20] Not a directory
表示datax的路径配置错误,找不到该文件。
查看 vim /opt/soft/dolphinscheduler/conf/env/
这个路径是之前官方默认的,现在看不需要指定到bin以及运行文件,只要到安装目录即可。
将路径
export DATAX_HOME=/opt/soft/datax/bin/datax.py
改为
export DATAX_HOME=/opt/soft/datax
保存后,重跑任务
重跑成功
3、dolphinscheduler调度Datax执行mysql到hive的数据交换,因为默认数据源选择只能为mysql等关系型数据库,所以需要选择自定义模板,自定义配置连接地址等信息json。
配置文件模板(该配置是我最终成功版本的配置,部分参数需要根据你自己的信息进行配置)
{
"job": {
"content": [
{
"reader":