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

aaarticlea/png;base64,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" alt="" />

一、简介

XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

下载

文档地址

源码仓库地址:

https://github.com/xuxueli/xxl-job

https://github.com/xuxueli/xxl-job

中央仓库地址
<!-- http://repo1.maven.org/maven2/com/xuxueli/xxl-job-core/ -->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>${最新稳定版本}</version>
</dependency>

准备环境

  • Maven3+
  • Jdk1.7+
  • Mysql5.6+

二、快速入门

2.1 初始化“调度数据库”

请下载项目源码并解压,获取 "调度数据库初始化SQL脚本" 并执行即可,正常情况下应该生成16张表。

"调度数据库初始化SQL脚本" 位置为:

/xxl-job/doc/db/tables_xxl_job.sql

调度中心支持集群部署,集群情况下各节点务必连接同一个mysql实例;

如果mysql做主从,调度中心集群节点务必强制走主库;

2.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:Springboot版本,通过Springboot管理执行器;
:xxl-job-executor-sample-jfinal:JFinal版本,通过JFinal管理执行器;
:xxl-job-executor-sample-nutz:Nutz版本,通过Nutz管理执行器;

2.3 配置部署“调度中心”

调度中心项目:xxl-job-admin
作用:统一管理任务调度平台上调度任务,负责触发调度执行,并且提供任务管理平台。

步骤一:调度中心配置:

调度中心配置文件地址:

/xxl-job/xxl-job-admin/src/main/resources/xxl-job-admin.properties

调度中心配置内容说明:

### 调度中心JDBC链接:链接地址请保持和 .1章节 所创建的调度数据库的地址一致
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl-job?Unicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver ### 报警邮箱
spring.mail.host=smtp.qq.com
spring.mail.port=
spring.mail.username=xxx@qq.com
spring.mail.password=xxx
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true ### 登录账号
xxl.job.login.username=admin
xxl.job.login.password= ### 调度中心通讯TOKEN,非空时启用
xxl.job.accessToken= ### 调度中心国际化设置,默认为中文版本,值设置为“en”时切换为英文版本
xxl.job.i18n=

项目导入maven工程,1、导入数据库、修改配置文件(数据库连接信息和平台登录的用户信息)

eclipse安装Tomcat8.5

在eclipse中,当使用tomcat版本为8.5时,无法与eclipse绑定,选择8.0或9.0版本都会提示:

The Apache Tomcat installation at this directory is version 8.5.5.  A Tomcat 8.0 installation is expected.

如下图:

2种解决办法

1. 人肉修改tomcat的版本号

  1. 1.使用WinRar, WinZip, 7zip打开文件./lib/catalina.jar (注意不要解压)
  2. 2.打开文件org/apache/catalina/util/ServerInfo.properties
  3. 3.修改文件第16行版本号为 8.0.0
  4. 4.保存,将文件更新到原jar包中即可
1.使用WinRar, WinZip, 7zip打开文件./lib/catalina.jar (注意不要解压)
2.打开文件org/apache/catalina/util/ServerInfo.properties
3.修改文件第16行版本号为 8.0.0
4.保存,将文件更新到原jar包中即可

成功绑定:

2.打补丁:

https://bugs.eclipse.org/bugs/attachment.cgi?id=262418&action=edit

Download this patch and put it to the plugins directory of your Eclipse installation. It will replace the default "org.eclipse.jst.server.tomcat.core_1.1.800.v201602282129.jar".

详细可参考:《How to use Tomcat 8.5.x and TomEE 7.x with Eclipse?

将下载的插件放在eclipse安装目录的plugin目录下

启动 tomcat 8 的服务应用程序

步骤二:部署项目:

如果已经正确进行上述配置,可将项目编译打包部署。 调度中心访问地址:http://localhost:8080/xxl-job-admin (该地址执行器将会使用到,作为回调地址),

用户名:admin

密码:123456

登录后运行界面如下图所示

至此“调度中心”项目已经部署成功。

其他:Docker 镜像方式搭建调度中心:

  • 下载镜像
// Docker地址:https://hub.docker.com/r/xuxueli/xxl-job-admin/
docker pull xuxueli/xxl-job-admin
  • 创建容器并运行
docker run -p : -v /tmp:/data/applogs --name xxl-job-admin  -d xuxueli/xxl-job-admin
/**
* 如需自定义 mysql 等配置,可通过 "PARAMS" 指定;
* 配置项参考文件:/xxl-job/xxl-job-admin/src/main/resources/application.properties
*/
docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl-job?Unicode=true&characterEncoding=UTF-8" -p : -v /tmp:/data/applogs --name xxl-job-admin -d xuxueli/xxl-job-admin

2.4 配置部署“执行器项目”

“执行器”项目:xxl-job-executor-sample-spring (提供多种版本执行器供选择,现以Spring版本为例,可直接使用,也可以参考其并将现有项目改造成执行器)
作用:负责接收“调度中心”的调度并执行;可直接部署执行器,也可以将执行器集成到现有业务项目中。

步骤一:maven依赖

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

步骤二:执行器配置

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

spring项目:

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

springboot项目

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

执行器配置,配置内容说明:

### xxl-job admin address list:调度中心部署跟地址:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调"。
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin ### xxl-job executor address:执行器"AppName"和地址信息配置:AppName执行器心跳注册分组依据;地址信息用于"调度中心请求并触发任务"和"执行器注册"。执行器默认端口为9999,执行器IP默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用。单机部署多个执行器时,注意要配置不同执行器端口;
xxl.job.executor.appname= app-prod
xxl.job.executor.ip=
xxl.job.executor.port=9999 ### xxl-job, access token:执行器通讯TOKEN,非空时启用
xxl.job.accessToken= ### xxl-job log path:执行器运行日志文件存储的磁盘位置,需要对该路径拥有读写权限
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler/ ### xxl-job log retention days:执行器Log文件定期清理功能,指定日志保存天数,日志文件过期自动删除。限制至少保持3天,否则功能不生效;
xxl.job.executor.logretentiondays=-1

步骤三:执行器组件配置

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

/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-spring/src/main/resources/applicationcontext-xxl-job.xml

执行器组件,配置内容说明:

<!-- 配置01、JobHandler 扫描路径:自动扫描容器中JobHandler -->
<context:component-scan base-package="com.xxl.job.executor.service.jobhandler" /> <!-- 配置02、执行器 -->
<bean id="xxlJobExecutor" class="com.xxl.job.core.executor.XxlJobExecutor" init-method="start" destroy-method="destroy" >
<!-- 执行器注册中心地址[选填],为空则关闭自动注册 -->
<property name="adminAddresses" value="${xxl.job.admin.addresses}" />
<!-- 执行器AppName[选填],为空则关闭自动注册 -->
<property name="appName" value="${xxl.job.executor.appname}" />
<!-- 执行器IP[选填],为空则自动获取 -->
<property name="ip" value="${xxl.job.executor.ip}" />
<!-- 执行器端口号[选填],小于等于0则自动获取 -->
<property name="port" value="${xxl.job.executor.port}" />
<!-- 访问令牌[选填],非空则进行匹配校验 -->
<property name="accessToken" value="${xxl.job.accessToken}" />
<!-- 执行器日志路径[选填],为空则使用默认路径 -->
<property name="logPath" value="${xxl.job.executor.logpath}" />
<!-- 日志保存天数[选填],值大于3时生效 -->
<property name="logRetentionDays" value="${xxl.job.executor.logretentiondays}" />
</bean>

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

如果已经正确进行上述配置,可将执行器项目编译打部署,系统提供多种执行器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:同上

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

 简单 修改测试 demo

运行demo的执行器程序

配置执行器

配置执行器的调度任务

触发执行

 执行每隔3秒执行一次

关心的几张表

配置调度多个应用:

启动另外一个执行器:

配置路由策略

任务在不同的应用程序轮询执行,保证每个任务只会被一个应用所执行

Windows下Nginx的启动、停止等命令

Windows下Nginx的启动、停止等命令

在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动、停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍。
1、启动:

C:\server\nginx-1.0.2>start nginx

C:\server\nginx-1.0.2>nginx.exe

注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。

启动后会在任务管理器有记录

2、停止:

C:\server\nginx-1.0.2>nginx.exe -s stop

C:\server\nginx-1.0.2>nginx.exe -s quit

注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。

3、重新载入Nginx:

C:\server\nginx-1.0.2>nginx.exe -s reload

当配置信息修改,需要重新载入这些配置时使用此命令。

4、重新打开日志文件:

C:\server\nginx-1.0.2>nginx.exe -s reopen

5、查看Nginx版本:

C:\server\nginx-1.0.2>nginx -v

修改hosts文件

127.0.0.1 www.xxx.com

修改nginx配置文件

http{

    upstream  backServer{
server 127.0.0.1: weight=;
server 127.0.0.1: weight=;
} server {
listen ;
server_name www.xxx.com;
location / {
proxy_pass http://backServer;
index index.html index.htm;
}
error_page /50x.html;
location = /50x.html {
root html;
}
}
}

测试轮询:

XXL-JOB分布式任务调度平台安装与部署的更多相关文章

  1. 分布式任务调度平台XXL-JOB安装及使用

    一.为什么需要任务调度平台 在Java中,传统的定时任务实现方案,比如Timer,Quartz等都或多或少存在一些问题: 不支持集群.不支持统计.没有管理平台.没有失败报警.没有监控等等而且在现在分布 ...

  2. 转载《分布式任务调度平台XXL-JOB》

    <分布式任务调度平台XXL-JOB>       博文转自 https://www.cnblogs.com/xuxueli/p/5021979.html 一.简介 1.1 概述 XXL-J ...

  3. 分布式任务调度平台XXL-JOB

    <分布式任务调度平台XXL-JOB>       一.简介 1.1 概述 XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源代码并 ...

  4. 分布式任务调度平台XXL-JOB搭建教程

    关于分布式任务调度平台XXL-JOB,其实作者 许雪里 在其发布的中文教程中已经介绍的很清楚了,这里我就不做过多的介绍了,关于其搭建教程,本人依照其文档搭建起来基本上也没遇到啥问题,这里通过博客的形式 ...

  5. 一文读懂分布式任务调度平台XXL-JOB

    本文主要介绍分布式任务调度平台XXL-JOB(v2.1.0版本),包括功能特性.实现原理.优缺点.同类框架比较等 基本介绍 项目开发中,常常以下场景需要分布式任务调度: 同一服务多个实例的任务存在互斥 ...

  6. 【Distributed】分布式任务调度平台

    一.概述 什么是定时任务 二.Java实现定时任务方式 2.1 Thread 2.2 TimerTask 2.3 ScheduledExecutorService 2.4 Quartz 引入maven ...

  7. 分布式任务调度平台XXL-JOB快速搭建教程

    1. XXL-JOB简介 XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源代码并接入多家公司线上产品线,开箱即用.它的有两个核心模块,一个模块叫做 ...

  8. 分布式任务调度平台 → XXL-JOB 实战

    开心一刻 老师:谁知道鞭炮用英语怎么说? 甲:老师!老师!我知道,鞭炮的英文是pilipala. 老师:那闪电呢? 乙:kucha kucha 老师:那舞狮呢? 丙:dong dong qiang 老 ...

  9. 【Java分享客栈】我为什么极力推荐XXL-JOB作为中小厂的分布式任务调度平台

    前言   大家好,我是福隆苑居士,今天给大家聊聊XXL-JOB的使用.   XXL-JOB是本人呆过的三家公司都使用到的分布式任务调度平台,前两家都是服务于传统行业(某大型移动基地和某大型电网),现在 ...

随机推荐

  1. Redis的5个常见应用场景

    前言 Redis 是一个强大的内存型存储,具有丰富的数据结构,使其可以应用于很多方面,包括作为数据库.缓存.消息队列等等. 如果你的印象中Redis只是一个 key-value 存储,那就错过了Red ...

  2. 不错的网络协议栈測试工具 — Packetdrill

    Packetdrill - A network stack testing tool developed by Google. 项目:https://code.google.com/p/packetd ...

  3. C strlen vs sizeof

    strlen是函数. sizeof是操作符..以下一个简单的程序说明这件事: #include <iostream> #include <string.h> using nam ...

  4. wget镜像网站并且下载到指定目录 2012-06-20 19:40:56

    wget镜像网站并且下载到指定目录 2012-06-20 19:40:56 分类: Python/Ruby wget -r -p -np -k -P /tmp/ap http://www.exampl ...

  5. 模拟元素的title属性,自定义Vue指令

    function showTitle(el, title) { const popover = getPopover() const popoverStyle = popover.style if ( ...

  6. FreeRTOS 中断优先级配置(重要)

    以下转载自安富莱电子: http://forum.armfly.com/forum.php NVIC 的全称是 Nested vectored interrupt controller,即嵌套向量中断 ...

  7. [Linux内核]软中断、tasklet、工作队列

    转自:http://www.cnblogs.com/li-hao/archive/2012/01/12/2321084.html 软中断.tasklet和工作队列并不是Linux内核中一直存在的机制, ...

  8. Spider Studio 界面功能布局

    SS是Spider Studio (采集工作站) 的简称, 这是由GDT团队开发的一款互联网数据采集开发工具. 它以浏览器为基础, 运用JQuery技术, 结合脚本化C#的强大功能, 能够轻松解决各类 ...

  9. 关于Unity的C#基础学习(四)

    一.数组 存放同种类型的一组数据,同类+多个 1.定义 int [] int_set; int_set=new int[10];  //在堆上分配出10个int,int_set是数组的引用变量,指向1 ...

  10. STL的map容器将第3个模板参数设为less_equal或greater_equal会怎样?

    最近都在学Linux系统编程,用C就足矣,有段时间没碰C++了,于是实现些算法练手. 实现多项式乘法的时候发现有几项没有合并同类项,最终调试到这一步时发现了问题. res是map类型,用find查找k ...