You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DolphinScheduler运行流程实例时报空指针与邮件认证失败问题

问题背景

已通过Standalone模式成功部署DolphinScheduler 1.3.0版本,运行流程实例时出现两处报错,对应报错信息和解决方案如下:


1. WorkerServer空指针报错

报错栈信息:

java.lang.NullPointerException: null
    at org.apache.dolphinscheduler.server.worker.processor.TaskExecuteProcessor.getTaskLogPath(TaskExecuteProcessor.java:129) ~[dolphinscheduler-server-1.3.0.jar:1.3.0]
    at org.apache.dolphinscheduler.server.worker.processor.TaskExecuteProcessor.buildAckCommand(TaskExecuteProcessor.java:152) ~[dolphinscheduler-server-1.3.0.jar:1.3.0]
    at org.apache.dolphinscheduler.server.worker.processor.TaskExecuteProcessor.doAck(TaskExecuteProcessor.java:117) ~[dolphinscheduler-server-1.3.0.jar:1.3.0]
    at org.apache.dolphinscheduler.server.worker.processor.TaskExecuteProcessor.process(TaskExecuteProcessor.java:108) ~[dolphinscheduler-server-1.3.0.jar:1.3.0]
    at org.apache.dolphinscheduler.remote.handler.NettyServerHandler$1.run(NettyServerHandler.java:118) ~[dolphinscheduler-remote-1.3.0.jar:1.3.0]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.8.0_311]
    at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.8.0_311]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_311]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_311]
    at java.lang.Thread.run(Unknown Source) [na:1.8.0_311]

报错原因

空指针出现在获取任务日志路径的逻辑中,是因为DolphinScheduler的日志存储目录没有正确配置,或者运行进程的用户对配置的日志目录没有读写权限,1.3.0版本未对该场景做非空校验,直接调用路径相关方法导致异常。

解决方案

  • 打开conf/worker.properties配置文件,检查dolphinscheduler.task.log.path配置项,确保填写的是已存在的绝对路径
  • 给日志目录授予DolphinScheduler运行用户的读写权限,执行命令:chown -R <dolphinscheduler运行用户名>:<用户组> <配置的日志目录路径>
  • 重启Worker服务后重试即可

2. 邮件告警发送报错

报错栈信息:

org.apache.commons.mail.EmailException: Sending the email to the following server failed : xxx.xxx.com:25
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1469)
    at org.apache.commons.mail.Email.send(Email.java:1496)
    at org.apache.dolphinscheduler.alert.utils.MailUtils.getStringObjectMap(MailUtils.java:309)
    at org.apache.dolphinscheduler.alert.utils.MailUtils.sendMails(MailUtils.java:124)
    at org.apache.dolphinscheduler.alert.manager.EmailManager.send(EmailManager.java:39)
    at org.apache.dolphinscheduler.alert.plugin.EmailAlertPlugin.process(EmailAlertPlugin.java:96)
    at org.apache.dolphinscheduler.alert.runner.AlertSender.run(AlertSender.java:84)
    at org.apache.dolphinscheduler.alert.AlertServer.start(AlertServer.java:82)
    at org.apache.dolphinscheduler.alert.AlertServer.main(AlertServer.java:89)
    
Caused by: javax.mail.AuthenticationFailedException: 535 5.7.8 Error: authentication failed: authentication failure
        at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:965)
        at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:876)
        at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:780)
        at javax.mail.Service.connect(Service.java:388)
        at javax.mail.Service.connect(Service.java:246)
        at javax.mail.Service.connect(Service.java:195)
        at javax.mail.Transport.send0(Transport.java:254)
        at javax.mail.Transport.send(Transport.java:124)
        at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1459)

报错原因

该报错是SMTP邮件服务认证失败,要么是邮件账号、密码配置错误,要么是SMTP服务端口、加密配置和邮件服务商要求不一致。

解决方案

  • 打开conf/alert.properties配置文件,逐一核对以下配置项:
    • mail.host:填写正确的SMTP服务器地址
    • mail.port:非加密连接填25,SSL加密一般填465,TLS加密一般填587
    • mail.username:填写完整的发件人邮箱地址
    • mail.password:注意大部分邮箱需要填写授权码而非邮箱登录密码,需要到邮箱后台开启SMTP服务后获取授权码填写
    • 如果开启SSL加密,需确认mail.ssl.enable配置为true,端口对应调整为服务商要求的SSL端口
  • 修改配置后重启Alert服务即可生效,无需重启整个DolphinScheduler集群

内容的提问来源于stack exchange,提问作者Alexander Chen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:54:05