1、分布式任务调度平台 XXL-JOB手册文档历史记录版本 日期 描述 作者V1.0 2018-03-27 xuya目录1:简介 .32:安装 .33:配置 .33.1 数据库准备 .43.2 源码准备 .53.3 部署准备 .53.3.1 配置部署“调度中心” .53.3.2 配置部署“ 执行器项目” 74:使用 .9步骤一:新建任务 .9步骤二:“GLUE 模式(Java)”任务开发 .10步骤三:触发执行 .10步骤四:查看日志 .105:总结 .111:简介XXL-JOB 是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展,XXL-JOB 是基于开源 Qua
2、rtz 调度内核的、为方便企业调度场景而开源的一款实用的调度工具。自带任务配置页面,任务监控,分布式执行器等功能。2:安装下载地址 (最新 1.9 版本迭代中,可选择稳定版本 1.8.2 下载)码云: https:/ 3:配置解压下载文件,得到如下文件结构,- /doc :文档资料- /db :“调度数据库”建表脚本- /xxl-job-admin :调度中心,项目源码- /xxl-job-core :公共 Jar 依赖- /xxl-job-executor-samples :执行器,Sample 示例项目3.1 数据库准备使用 mysql 新建数据库 xxl-job , 导入下载文件夹中 /
3、doc/db/tables_xxl_job.sql 文件,应生成 16 张表,如图所示。3.2 源码准备按照 maven 格式将源码导入 IDE, 使用 maven 进行编译即可, 源码结构如下xxl-job-admin:调度中心xxl-job-core:公共依赖xxl-job-executor:执行器 Sample 示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器):xxl-job-executor-sample-spring:Spring 版本,通过 Spring 容器管理执行器,比较通用;:xxl-job-executor-sample-springboot
4、:Springboot 版本,通过 Springboot 管理执行器;:xxl-job-executor-sample-jfinal:JFinal 版本,通过 JFinal 管理执行器;:xxl-job-executor-sample-nutz:Nutz 版本,通过 Nutz 管理执行器;3.3 部署准备3.3.1 配置部署“调度中心 ”调度中心项目:xxl-job-admin作用:统一管理任务调度平台上调度任务,负责触发调度执行,并且提供任务管理平台。步骤一:调度中心配置文件地址:/xxl-job/xxl-job-admin/src/main/resources/xxl-job-admin.
5、properties,数据库连接地址与上面所创建数据库的地址要一致。步骤二:部署项目可将项目编译的 war 包部署到 tomcat 中,现将 war 部署到 192.168.110.2 服务器上将 war 包复制到 /root/apache-tomcat-7.0.78/webapps 目录下。启动 tomcat,游览器输入 http:/192.168.110.2:8080/xxl-job-admin/3.3.2 配置部署“执行器项目 ”“执行器” 项目: xxl-job-executor-sample-spring (提供多种版本执行器供选择,现以Spring 版本为例,可直接使用,也可以参考
6、其并将现有项目改造成执行器)作用:负责接收“调度中心” 的调度并执行;可直接部署执行器,也可以将执行器集成到现有业务项目中。步骤一:maven 依赖确认 pom 文件中引入了 “xxl-job-core“ 的 maven 依赖;步骤二:执行器配置文件地址:/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-spring/src/main/resources/xxl-job-executor.properties 如 tomcat 端口占用,可将 xxl.job.executor.port 改成 9888步骤三:执行器组件配置文件地
7、址:/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-spring/src/main/resources/applicationcontext-xxl-job.xml步骤四:部署执行器项目同“调度中心”war 一致复制到 /root/apache-tomcat-7.0.78/webapps 目录下,启动tomcat4:使用本示例以新建一个 “GLUE 模式(Java)” 运行模式的任务为例。 ( “GLUE 模式(Java)” 的执行代码托管到调度中心在线维护,相比“Bean 模式任务”需要在执行器项目开发部署上线,更加简便轻量
8、)前提:请确认“调度中心” 和“执行器”项目已经成功部署并启动;步骤一:新建任务登录调度中心,点击下图所示“新建任务”按钮,新建示例任务。然后,参考下面截图中任务的参数配置,点击保存,Cron 表达式,例如 0 0/1 * * * ? 每一分钟执行一次。步骤二:“GLUE 模式 (Java)”任务开发请点击任务右侧 “GLUE” 按钮,进入 “GLUE 编辑器开发界面 ” ,见下图。 “GLUE 模式(Java)” 运行模式的任务默认已经初始化了示例任务代码,即打印“XXL-JOB, Hello World. 2018-03-27/xuya”步骤三:触发执行请点击任务右侧 “执行” 按钮,可手
9、动触发一次任务执行步骤四:查看日志请点击任务右侧 “日志” 按钮,可前往任务日志界面查看任务日志。 在任务日志界面中,可查看该任务的历史调度记录以及每一次调度的任务调度信息、执行参数和执行信息。运行中的任务点击右侧的“执行日志”按钮,可进入日志控制台查看实时执行日志。在日志控制台,可以 Rolling 方式实时查看任务在执行器一侧运行输出的日志信息,实时监控任务进度;5:总结XXL-JOB 将调度行为抽象形成 “调度中心”公共平台,而平台自身并不承担业务逻辑, “调度中心” 负责发起调度请求。将任务抽象成分散的 JobHandler,交由“ 执行器”统一管理, “执行器” 负责接收调度请求并执行对应的 JobHandler 中业务逻辑。因此, “调度”和“任务” 两部分可以相互解耦,提高系统整体稳定性和扩展性。附上 XXL-JOB 架构图: