xxl-job github源码地址:https://github.com/xuxueli/xxl-job

xxl-job 官方文档:https://www.xuxueli.com/xxl-job/#

系统组成

调度模块(调度中心):

负责管理调度信息,按照调度配置发出调度请求,自身不承担业务代码。调度系统与任务解耦,提高了系统可用性和稳定性,同时调度系统性能不再受限于任务模块;

支持可视化、简单且动态的管理调度信息,包括任务新建,更新,删除,GLUE开发和任务报警等,所有上述操作都会实时生效,同时支持监控调度结果以及执行日志,支持执行器Failover。

执行模块(执行器):

负责接收调度请求并执行任务逻辑。任务模块专注于任务的执行等操作,开发和维护更加简单和高效;

接收“调度中心”的执行请求、终止请求和日志请求等。

架构图

xxl-job 环境搭建步骤:

1、初始化“调度数据库” "调度数据库初始化SQL脚本" 位置为:/xxl-job/doc/db/tables_xxl_job.sql

调度中心支持集群部署,集群情况下各节点务必连接同一个mysql实例,如果mysql做主从,调度中心集群节点务必强制走主库。

2、编译源码按照maven格式将源码导入IDE, 使用maven进行编译即可(这里需要注意admin和core版本最好是要一致,不然会出现调度中心调不到job笔者亲自躺坑)

源码结构如下:

xxl-job-admin:调度中心

xxl-job-core:公共依赖

xxl-job-executor:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项

目改造成执行器)

xxl-job-executor-sample-spring:Spring版本,通过Spring容器管理执行器,比较通用,推荐这种

方式;

xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器;

xxl-job-executor-sample-jfinal:JFinal版本,通过JFinal管理执行器;

xxl-job-executor-sample-nutz:Nutz版本,通过Nutz管理执行器

3、配置部署“调度中心”

调度中心项目:xxl-job-admin

作用:统一管理任务调度平台上调度任务,负责触发调度执行,并且提供任务管理平台。

① 修改配置文件

老版本:/xxl-job/xxl-job-admin/src/main/resources/xxl-job-admin.properties

新版本:/xxl-job/xxl-job-admin/src/main/resources/application.properties

② 部署发布到服务器

调度中心访问地址:http://localhost:8080/xxl-job-admin

(该地址执行器将会使用到,作为回调地址),

默认登录账号 “admin/123456”, 登录后运行界面如下图所示。

③ 调度中心集群(可选)

调度中心支持集群部署,提升调度系统容灾和可用性。调度中心集群部署时,几点要求和建议:

DB配置保持一致;登陆账号配置保持一致;

集群机器时钟保持一致(单机集群忽视);

建议:推荐通过nginx为调度中心集群做负载均衡,分配域名。调度中心访问、执行器回调配置、调用

API服务等操作均通过该域名进行

4、配置部署“执行器项目”

“执行器”项目:xxl-job-executor-sample-spring (提供多种版本执行器供选择,现以Spring版本为例,

可直接使用,也可以参考其并将现有项目改造成执行器)

作用:负责接收“调度中心”的调度并执行;可直接部署执行器,也可以将执行器集成到现有业务项目中。

步骤一:maven依赖

确认pom文件中引入了 “xxl-job-core” 的maven依赖;

步骤二:执行器配置

执行器配置,配置文件地址(这里配置参考官方文档配置即可):

/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties

步骤三:执行器组件配置

执行器组件,配置文件地址:

/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/core/config/XxlJobConfig.java

(appname字段名称可能不一样,这里官方版本说明有提到)

@Bean

public XxlJobSpringExecutor xxlJobExecutor() {

logger.info(">>>>>>>>>>> xxl-job config init.");

XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();

xxlJobSpringExecutor.setAdminAddresses(adminAddresses);

xxlJobSpringExecutor.setAppname(appname);

xxlJobSpringExecutor.setIp(ip);

xxlJobSpringExecutor.setPort(port);

xxlJobSpringExecutor.setAccessToken(accessToken);

xxlJobSpringExecutor.setLogPath(logPath);

xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);

return xxlJobSpringExecutor;

}

步骤四:部署执行器项目:

如果已经正确进行上述配置,可将执行器项目编译打部署,系统提供多种执行器Sample示例项目,选择其中一个即可,各自的部署方式如下。

xxl-job-executor-sample-springboot:项目编译打包成springboot类型的可执行JAR包,命令启动即可;

xxl-job-executor-sample-spring:项目编译打包成WAR包,并部署到tomcat中。

xxl-job-executor-sample-jfinal:同上

xxl-job-executor-sample-nutz:同上

xxl-job-executor-sample-jboot:同上

至此“执行器”项目已经部署结束。

执行器支持集群部署,提升调度系统可用性,同时提升任务处理能力。

执行器集群部署时,几点要求和建议:

执行器回调地址(xxl.job.admin.addresses)需要保持一致;执行器根据该配置进行执行器自动注册等操作。

同一个执行器集群内AppName(xxl.job.executor.appname)需要保持一致;调度中心根据该配置动态发现不同集群的在线执行器列表

5、开发第一个任务”hello world”

前提:请确认“调度中心”和“执行器”项目已经成功部署并启动;

步骤一:新建任务,登录调度中心,点击下图所示“新建任务”按钮,新建示例任务。然后,参考下面截图中任务的参数配置,点击保存。

步骤二:“GLUE模式(Java)” 任务开发:

请点击任务右侧 “GLUE” 按钮,进入 “GLUE编辑器开发界面” ,见下图。“GLUE模式(Java)” 运行模式的任务默认已经初始化了示例任务代码,

即打印Hello World。 ( “GLUE模式(Java)” 运行模式的任务实际上是一段继承自IJobHandler的Java类代码,它在执行器项目中运行,可使用

@Resource/@Autowire注入执行器里中的其他服务。

步骤三:触发执行:

请点击任务右侧 “执行” 按钮,可手动触发一次任务执行(通常情况下,通过配置Cron表达式进行任务调度触发)。

步骤四:查看日志:

请点击任务右侧 “日志” 按钮,可前往任务日志界面查看任务日志。

在任务日志界面中,可查看该任务的历史调度记录以及每一次调度的任务调度信息、执行参数和执行信息。运行中的任务点击右侧的“执行日志”按钮,可进入日志控制台查看实时执行日志

xxljob默认登录_xxl-job安装部署整理相关推荐

  1. 查看mysql5.7默认密码_mysql-5.7安装部署+MySQL5.7初始密码查看及重置

    mysql-5.7安装部署+MySQL5.7初始密码查看及重置 系统环境 Centos 7.6 首先下载mysql安装包: wget https://dev.mysql.com/get/Downloa ...

  2. xxljob默认登录_三千字带你搞懂XXL-JOB任务调度平台

    思维导图 文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary 一.概述 在平时的业务场景中,经常有一些场景需要使用定时任 ...

  3. fastdfs安装部署整理

    一.fastdfs环境搭建 下面准备 2 个环境模拟部署并测试 准备工作 主服务器:192.168.100.10 从服务器:192.168.100.11 步骤1. 了解 fastDFS 原理 这次是最 ...

  4. hadoop2 Ubuntu 下安装部署

    搭建Hadoop环境( 我以hadoop 2.7.3 为例, 系统为 64bit Ubuntu14.04 ) hadoop 2.7.3 官网下载 , 选择自己要安装的版本.注意每个版本对应两个下载选项 ...

  5. ansible安装部署和配置、常用模块整理

    今天心情不错~~~~第25个生日了,又遇昨晚百年难得一见的蓝月亮,所以昨晚连夜整理了文档, 会分为两部分发出去,ansible批量化部署在工作中是非常实用,建议呢 整理大量常用模块去练习 1.1.1  ...

  6. 分布式任务调度平台XXL-JOB安装部署

    分布式任务调度平台XXL-JOB相关教程: 使用教程 分布式任务调度平台XXL-JOB使用教程_foxofwind的博客-CSDN博客分布式任务调度平台XXL-JOB使用教程https://blog. ...

  7. 五丶阿东安装部署教程+青龙对接阿东及傻妞实现自动登录

    阿东安装部署教程+青龙对接阿东及傻妞实现自动登录 没有服务器的先自行购买,这里推荐腾讯云2H4G8M首年70–点击购买 青龙面板安装 傻妞安装教程--+命令 QQ交流:1014549449 ----- ...

  8. 宝塔一键安装部署tipask登录出现错误:The email must be at least 8 characters怎么回事

    宝塔一键安装部署tipask登录出现错误:The email must be at least 8 characters怎么回事 其实问题很简单,安装的最后一步需要设置管理员账号密码,用户需要用邮件地 ...

  9. MySQL 5.7 安装后默认登录密码在哪?

    MySQL 5.7 安装后默认登录密码在哪? 1. MySQL 历史版本安装地址 1. MySQL 5.7 默认安装目录结构 2. 初始化MySQL 5.7 1. MySQL 历史版本安装地址 MyS ...

最新文章

  1. Windows 命令行终端 PowerShell 美化计划
  2. Field Service Center Customization
  3. php7实践指南图书手册
  4. 张朝阳:我什么都有,但我就是很痛苦
  5. SAP CRM product settype read from database table
  6. fillcolor是什么意思_fill是什么意思
  7. 大白话说Java反射:入门、使用、原理,BAT 面试官 如何面试
  8. mysql查看数据库所占用的空间
  9. QTP不识别树结构中的点击事件
  10. day09-线程与进程
  11. JSTL不同版本和EL表达式的关联
  12. 乐迪机器人正确操作_乐迪智能早教机器人好用吗 乐迪智能早教机器人使用测评...
  13. Linux中vi/vim编辑器的常用命令
  14. 【detectron】FPN网络输入
  15. 初学视觉学习笔记----打开摄像头遇到的问题
  16. z8350cpu linux,跑分 Intel Z8350小有提升_平板电脑评测-中关村在线
  17. 迈普路由器访问控制列表配置命令_迈普路由器配置手册
  18. 微信小游戏声明文件(d.ts)
  19. 支付宝小程序添加H5域名配置失败原因
  20. apache服务器设置

热门文章

  1. vue-cli项目布署问题解决:空白页、静态资源文件404错误、refrenceError:promise未定义(部分浏览器不支持ES6语法)
  2. POI读取Excel文件时,row.getCell(0).getStringCellValue()报错:数字转换异常
  3. Eclipse构建Maven分包分模块项目并构建服务端
  4. mybatis常用jdbcType数据类型
  5. 操作痕迹包括那些_高级消防设施操作员专题之:走近气体灭火系统
  6. java的debug模式_java第六章:debug模式介绍及大量实例练习
  7. datagridview取消默认选中_winform datagridview中的 combobox如何选中默认值?
  8. linux 文件怎么不让删,请问如何设置权限,可以禁止用户删除文件
  9. php登陆项目,ThinkPHP6项目基操(14.实战部分 中间件处理登录流程)
  10. apk提取加密素材_从apk包中提取unity资源