基础配置
先从github中拉下xxl-job的代码
地址:GitHub - xuxueli/xxl-job: A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
项目整体架构
在xxl-job-admin中的application.properties文件修改相关配置
### 端口号 改为自己需要的端口号,默认为8080
server.port=8888
### 调度中心JDBC链接:链接地址请保持和 2.1章节 所创建的调度数据库的地址一致
spring.datasource.url=jdbc:mysql://数据库IP地址:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
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
配置完成后,运行sql脚本,初始化数据库:
sql脚本在:/xxl-job/doc/db/tables_xxl_job.sq
本地启动测试是否正常
调度中心访问地址:http://localhost:8080/xxl-job-admin (该地址执行器将会使用到,作为回调地址)
默认登录账号 “admin/123456”, 登录后运行界面如下图所示。
到此处,你已完成基本配置
docker部署
官方部署方式:分布式任务调度平台XXL-JOB
因为我是在本地修改的,接下来的步骤就是在docker中创建镜像启动容器了
问题:首先是以前就使用docker官方的下载地址,但最近不能用了,于是改成了使用阿里云加速:
阿里云官网加速地址:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
修改的文件为:/etc/docker/deamon.json
然后将自己本地的xxl-job文件通过mvn package打包,将整个项目上传到linux服务器上(我使用的是Xftp上传的,看个人习惯)
然后进入xxl-job中的xxl-job-admin项目,使用docker创建镜像的命令
我将该项目放到了opt文件下,整体流程如下
进入项目:cd /opt/xxl-job/xxl-job-admin
创建镜像:docker build -t xxl-job-admin .
查看镜像是否创建成功:docker images
启动容器,映射端口号,挂载数据:docker run -p 8888:8888 -v/tmp:/data/applogs --name xxl-job-admin -d xxl-job-admin
然后访问地址就可以了: http://ip地址:8888/xxl-job-admin
备注:一组简单的doker部署命令
docker rmi xxl-job-admin docker build -t xxl-job-admin . docker stop xxl-job-admin docker rm -f xxl-job-admin docker run -p 8888:8888 -v /tmp:/data/applogs --name xxl-job-admin -d xxl-job-admin 因为该部署命令文件和Dockerfile在同一级,所以构建镜像时不需要指定文件地址,如果不再同一级,则需要通过-f在指定Dockerfile的位置 子目录:docker build -f xxx/Dockerfile.custom -t xxl-job-admin . 绝对路径:docker build -f /xxx/xxx/Dockerfile.custom -t xxl-job-admin .