中小型公司首选!分布式调度系统XXL-JOB安装和简单使用
如需自定义 mysql 等配置,可通过 “-e PARAMS” 指定,参数格式 PARAMS=“–key=value --key2=value2” ;
配置项参考文件:/xxl-job/xxl-job-admin/src/main/resources/application.properties
如需自定义 JVM内存参数 等配置,可通过 “-e JAVA_OPTS” 指定,参数格式 JAVA_OPTS=“-Xmx512m” ;
docker run -e PARAMS=“–spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai” -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin -d xuxueli/xxl-job-admin:{指定版本}
linux Ubuntu 16.04 安装 xxl-job
=============================
在linux下直接安装 xxl-job 会有点麻烦, 因为 xxl-job 并没有像 nacos 之类的直接提供了一个启动包,直接修改一下配置文件,然后运行启动脚本即可那种。xxl-job 是只提供了的源码文件,如果要运行,需要自己先将 java 源码 通过 maven 打包构建成运行包,然后才能运行。所以接下来我来详细讲述一下如何在linux 下安装启动 xxl-job,这里使用的 linux 版本为:Ubuntu 16.04。 其他版本也类似。
安装 jdk ,maven ,git 环境
=====================
首先我们先需要安装 Java 相关的环境,因为xxl-job 是 Java 开发的,在没有提供启动包的基础上,我们需要自己从源码解释编译成启动包,然后启动。
安装 JDK
======
安装有两种一种是直接根据 apt 的包安装,另一种是手动获取 java 包安装。这里我们为了简单起见使用 apt 直接安装,如果需要更多自定义的配置可以手动安装。执行运行以下两个命令即可安装 jdk8 版本的。
sudo apt-get update
sudo apt-get install openjdk-8-jdk -y
参考:Ubuntu 16.04安装Java JDK8
安装 maven
========
我们这里也直接采用 apt 包的安装
sudo apt-get -y update
sudo apt install maven -y
待安装完成之后,运行
mvn -v
即可检查是否安装成功了
这里安装了 maven 之后还需要将 maven 的默认的远程仓库地址换成 国内的远程仓库地址,不然下载 maven 依赖的时候会很慢。打开 /etc/maven/settings.xml 文件,在 标签里面添加以下内容,即可将默认仓库替换成阿里云的仓库。
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
安装 GIT
======
我们这里还需要安装 GIT ,主要是为了可以方便复制源码到本机,当然也可以通过直接 curl 获取到文件,然后解压。不过 git 总是有用,所以我们这里也安装了
sudo apt-get -y update
sudo apt-get install git -y
安装数据库
=====
初始化数据库的脚步为xxl-job的git 项目中的 /xxl-job/doc/db/tables_xxl_job.sql的文件,在已经安装了 MySQL 的机器上连接上,然后执行即可
默认xxl-job 是支持集群部署的,只要连接相同的数据库即可
另外如果 MySQL 有做主从部署,则 xxl-job 连接的一定要为主库,也不能使用读写分离的账号,否则在调度的时候可能会出现问题
git clone 源码文件,打包构建
===================
git clone https://gitee.com/xuxueli0323/xxl-job.git
cd xxl-job/
mvn -B -Dmaven.test.skip=true clean package
cd xxl-job-admin/target
这里 根据不同的xxl-job的版本,文件名不一样
unzip xxl-job-admin-2.3.0-SNAPSHOT.jar
解压之后,进入BOOT-INT/target/class/ 目录即可看到调度中心的配置文件 application.properties
,修改里面的数据库链接和密码即可,如果考虑调度系统的调用的安全性可以加上, xxl.job.accessToken= 参数
修改完成之后,然后进入到 /xxl-job/xxl-job-admin/target 目录下执行以下命令来启动 xxl-job
/usr/local/java/bin/java -classpath ./:./lib/* org.springframework.boot.loader.JarLauncher &
执行之后,如果启动成功会显示如下图这样
然后打开链接: http://127.0.0.1:8080/xxl-job-admin (该地址执行器将会使用到,作为回调地址)
输入默认的账号和密码, “admin/123456”,登录即可看到调度中心。(需要将127.0.0.1 换成自己的机器的ip)
安装执行器项目
=======
安装完成调度中心之后,我们还需要安装执行器项目,调度中心本身是不负责执行项目,要安装执行器之后,才能通过调度中心去执行器服务上执行。安装执行器项目很简单,基本上就是安装调度中心那样安装启动即可,我们这里为了简单起见,可以直接启动 xxl-job 自带Spring Boot的简单执行器。基于上面克隆下来的项目,我们进入 /xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/target 目录。如果要修改调度中心的地址的信息、调度中心的验证的key等,可以修改配置文件,该执行器的配置文件为 /xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/target/BOOT-INF/classes/application.properties。
然后执行以下命令即可启动执行器项目:
/usr/local/java/bin/java -classpath ./:./lib/* org.springframework.boot.loader.JarLauncher &
简单使用 xxl-job
============
经过上面的步骤,我们就有一个简单的调度中心系统了。基于这个调度系统,我们可以随便创建调度任务。这里我示范一个创建一个每分钟定时请求 http://t.weather.itboy.net/api/weather/city/101280101 链接获取广州天气的任务。参考:免费天气API,天气JSON API,不限次数获取十五天的天气预报
登录进入任务管理页面新建任务
==============
访问,http://127.0.0.1:8080/xxl-job-admin ,输入 admin/123456 。登录上面我们搭建成功的xxl-job的分布式调度系统。然后进入"任务管理" 页面,进行新建任务,
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
感受:
其实我投简历的时候,都不太敢投递阿里。因为在阿里一面前已经过了字节的三次面试,投阿里的简历一直没被捞,所以以为简历就挂了。
特别感谢一面的面试官捞了我,给了我机会,同时也认可我的努力和态度。对比我的面经和其他大佬的面经,自己真的是运气好。别人8成实力,我可能8成运气。所以对我而言,我要继续加倍努力,弥补自己技术上的不足,以及与科班大佬们基础上的差距。希望自己能继续保持学习的热情,继续努力走下去。
也祝愿各位同学,都能找到自己心动的offer。
分享我在这次面试前所做的准备(刷题复习资料以及一些大佬们的学习笔记和学习路线),都已经整理成了电子文档
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
努力,弥补自己技术上的不足,以及与科班大佬们基础上的差距。希望自己能继续保持学习的热情,继续努力走下去。
也祝愿各位同学,都能找到自己心动的offer。
分享我在这次面试前所做的准备(刷题复习资料以及一些大佬们的学习笔记和学习路线),都已经整理成了电子文档
[外链图片转存中…(img-p7FlbpqN-1713569098210)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
更多推荐
所有评论(0)