海豚调度器设置了定时,执行的时间和设置时间不同,后来排查发现是时区问题。可以用下面方法和步骤来修改:
修改DolphinScheduler服务器时区
- 登录服务器:首先,通过SSH或其他方式登录到运行DolphinScheduler服务的服务器上。
- 查看当前时区:执行以下命令查看服务器当前的时区设置:Bash
1timedatectl
或Bash1date
- 修改时区:如果需要修改,可以使用以下命令将时区设置为您所需的时区。例如,要设置为上海时区(Asia/Shanghai),执行:
sudo timedatectl set-timezone Asia/Shanghai
或对于较旧的系统,可能需要使用:sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 重启服务:修改时区后,可能需要重启DolphinScheduler以及相关依赖服务(如MySQL)以确保新时区生效。
修改DolphinScheduler界面配置时区
- 登录DolphinScheduler Web UI:使用管理员账号登录DolphinScheduler的Web界面。
- 访问系统设置:导航至系统管理 > 系统设置。
- 修改时区:在系统设置页面中,找到“时区设置”部分,从下拉菜单中选择正确的时区。确保这个时区设置与您之前在服务器上设置的时区相匹配。
- 保存设置:修改完成后,记得点击“保存”按钮使更改生效。
如果是一些老版本的海豚调度器,是没有上面的设置的,需要修改配置文件:
- 找到
application.properties
配置文件:- 在海豚调度器的部署目录中,找到
conf
文件夹。 - 在
conf
文件夹中,找到名为application.properties
的配置文件。
- 在海豚调度器的部署目录中,找到
- 编辑
application.properties
文件:- 使用文本编辑器打开
application.properties
文件。 - 在文件中找到以下行:
spring.jackson.time-zone=Asia/Shanghai
这一行表示默认的时区设置为亚洲/上海时区。根据您的需求,将其更改为所需的时区。例如,如果您想使用美国东部标准时间,可以将其更改为:spring.jackson.time-zone=America/New_York
- 保存并关闭文件。
- 使用文本编辑器打开
- 重启海豚调度器服务:
- 为了使时区设置立即生效,您需要重启海豚调度器的服务。
- 根据您的部署方式(如Docker、Kubernetes或手动部署),执行相应的命令来重启海豚调度器服务。
- 验证时区设置:
- 重启服务后,重新登录到海豚调度器管理界面。
- 创建一个新的定时任务,并设置一个未来的执行时间。
- 观察并记录任务实际执行的时间,以确保时区设置已正确应用。