如何通过脚本或作业管理器在指定时间重启Databricks集群
定时重启Databricks集群的两种实现方法
方法一:用系统定时任务(以Linux Cron为例)
适合在已有可访问Databricks CLI的服务器上使用:
- 先确保已完成Databricks CLI的认证配置(通过
databricks configure设置工作区URL和认证Token) - 编写重启集群的Shell脚本(比如命名为
restart_cluster.sh):
#!/bin/bash databricks clusters restart --cluster-id <你的集群ID>
- 给脚本添加执行权限:
chmod +x /path/to/restart_cluster.sh
- 配置Cron定时规则:
执行crontab -e打开定时任务编辑器,添加一行规则(示例为每天凌晨2点执行):
保存退出后,Cron会自动按设定时间触发脚本。0 2 * * * /path/to/restart_cluster.sh
方法二:用Databricks内置作业管理器(Jobs)
适合完全在Databricks生态内管理定时任务:
- 登录Databricks工作区,进入Jobs页面,点击Create Job
- 配置任务详情:
- 任务类型选择Shell task
- 在命令输入框中填入:
databricks clusters restart --cluster-id <你的集群ID> - 若作业执行环境未预设CLI认证,可在初始化脚本中添加
databricks configure的非交互式配置(比如通过环境变量传入Token和URL)
- 切换到Schedule标签页,设置定时规则(支持按天/周/月或自定义CRON表达式)
- 保存作业后,Databricks会按设定时间自动触发集群重启任务。
注意事项
- 确保执行命令的身份拥有目标集群的重启权限(如Cluster Admin角色)
- 用Cron时,需保证运行Cron的服务器能稳定访问Databricks API地址
- 用Databricks Jobs建议开启失败通知,便于及时排查执行异常
内容的提问来源于stack exchange,提问作者user2223857
相关产品推荐
相关产品推荐

