ds节点任务失效问题排查

  1. 问题发现 192.168.18.52 机器上执行的脚本都失败了

同一个脚本分配到53执行时没问题,分配到52则失败

2.问题定位

根据日志

sudo -u hdfs sh /tmp/dolphinscheduler/exec/process/6/80/1624/7309/80_1624_7309.command

[INFO] 2023-01-10 01:26:21.969 - [taskAppId=TASK-80-1624-7309]:[208] - process start, process id is: 17001

[INFO] 2023-01-10 01:26:22.060 - [taskAppId=TASK-80-1624-7309]:[217] - process has exited, execute path:/tmp/dolphinscheduler/exec/process/6/80/1624/7309, processId:17001 ,exitStatusCode:0

[INFO] 2023-01-10 01:26:22.970 - [taskAppId=TASK-80-1624-7309]:[129] - -> /var/tmp/sclKZ0aES: line 8: -u: command not found

首先在52上使用sudo -u hdfs echo "hello" 进行简单的测试 发现同样报错 line 8: -u: command not found

然后尝试 su hdfs 发现报错 This account is currently not available

cat /etc/passwd | grep hdfs

发现它的shell是“/sbin /nologin”

然后尝试修正 vim /etc/passwd 修改,并且wq!保存后再次重试

su hdfs 无报错但是sudo -u hdfs echo "hello" 执行脚本还是报错

3.检查/etc/profile 环境变量发现

对比53 51 机器多了一个环境变量/opt/rh/devtoolset/root/usr/bin 并且该环境优先级最高

对其优先级进行调整 并且重新source /etc/profile 后 sudo -u hdfs echo "hello" 成功显示 hello

4.总结

重启ds集群 并且重新执行任务成功。到这里52 ds运行环境修复成功!

总结 新添加的环境变量的优先级尽量不要覆盖系统的优先级; 如果hdfs用户对新环境变量的路径没有权限会导致整个环境变量无法生效。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值