• xxl-job环境搭建详细


    XXL-Job:是大众点评的分布式任务调度平台,是一个轻量级分布式任务调度平台, 其核心设计目标是开发迅速、学习简单、轻量级、易扩展

    大众点评目前已接入XXL-JOB,内部别名《Ferrari》(Ferrari基于XXL-JOB的V1.1版本定制而成,新接入应用推荐升级最新版本)。
    据最新统计, 自2016-01-21接入至2017-12-01期间,该系统已调度约100万次,表现优异。新接入应用推荐使用最新版本,因为经过数十个版本的更新,系统的任务模型、UI交互模型以及底层调度通讯模型都有了较大的优化和提升,核心功能更加稳定高效。
     

    1、环境准备

    • Maven3+
    • Jdk1.8+
    • Mysql5.7+
    • git

    2、 下载源码

     

    将 下载后的文件解压后如上所示,git拉下来的也一样。

    目录结构说明如下:

    xxl-job-admin:调度中心
    xxl-job-core:公共依赖
    xxl-job-executor-samples:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器)
        :xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器,推荐这种方式;
        :xxl-job-executor-sample-spring:Spring版本,通过Spring容器管理执行器,比较通用;
        :xxl-job-executor-sample-frameless:无框架版本;

    3、初始化数据库

    我们下载的文件中包含了数据库初始化脚本

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

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

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

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

    4、编译源码

    调度中心配置文件地址:

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

    调度中心配置内容说明:

    ### 调度中心JDBC链接:链接地址请保持和 2.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=root_pwd
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    
    ### 报警邮箱
    spring.mail.host=smtp.qq.com
    spring.mail.port=25
    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
    spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
    
    ### 调度中心通讯TOKEN [选填]:非空时启用;
    xxl.job.accessToken=
    
    ### 调度中心国际化配置 [必填]: 默认为 "zh_CN"/中文简体, 可选范围为 "zh_CN"/中文简体, "zh_TC"/中文繁体 and "en"/英文;
    xxl.job.i18n=zh_CN
    
    ## 调度线程池最大线程配置【必填】
    xxl.job.triggerpool.fast.max=200
    xxl.job.triggerpool.slow.max=100
    
    ### 调度中心日志表数据保存天数 [必填]:过期日志自动清理;限制大于等于7时生效,否则, 如-1,关闭自动清理功能;
    xxl.job.logretentiondays=30

    在上述配置文件中修改数据库地址等相关配置,完成后保存。

    紧接着执行如下springboot入口函数

    调度中心访问地址:http://localhost:8080/xxl-job-admin (该地址执行器将会使用到,作为回调地址)

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

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

    调度中心支持集群部署,提升调度系统容灾和可用性。

    调度中心集群部署时,几点要求和建议:

    • DB配置保持一致;
    • 集群机器时钟保持一致(单机集群忽视);
    • 建议:推荐通过nginx为调度中心集群做负载均衡,分配域名。调度中心访问、执行器回调配置、调用API服务等操作均通过该域名进行。

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

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

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

    ### 调度中心部署跟地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;
    xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
    
    ### 执行器通讯TOKEN [选填]:非空时启用;
    xxl.job.accessToken=
    
    ### 执行器AppName [选填]:执行器心跳注册分组依据;为空则关闭自动注册
    xxl.job.executor.appname=xxl-job-executor-sample
    ### 执行器注册 [选填]:优先使用该配置作为注册地址,为空时使用内嵌服务 ”IP:PORT“ 作为注册地址。从而更灵活的支持容器类型执行器动态IP和动态映射端口问题。
    xxl.job.executor.address=
    ### 执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册" 和 "调度中心请求并触发任务";
    xxl.job.executor.ip=
    ### 执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;
    xxl.job.executor.port=9999
    ### 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径;
    xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
    ### 执行器日志文件保存天数 [选填] : 过期日志自动清理, 限制值大于等于3时生效; 否则, 如-1, 关闭自动清理功能;
    xxl.job.executor.logretentiondays=30

    在上述配置文件中修改数据库地址等相关配置,完成后保存。

    紧接着执行执行器项目的springboot启动程序

     至此,系统就已经安装完成了。

    ​​​​​

  • 相关阅读:
    【Java】volatile-内存可见性问题
    报错:Could not resolve host: mirrorlist.centos.org;Unknown error
    灵活用工平台的优势在哪里?
    必知必会的PyCharm使用技巧
    netty根据业务场景(IO密集型、CPU密集型)优化线程模型
    集合collection listmapset
    redis群集
    spring启动时如何自定义日志实现
    python实战故障诊断之CWRU数据集(四):线性回归模型的应用
    【每日一题】补档 CF1799C. Double Lexicographically Minimum | 构造 | 简单
  • 原文地址:https://blog.csdn.net/qq_36410350/article/details/125544693