在linux上面安装xxl-job2.4.0

问题

由于预算有限,用不起lambda去跑定时任务,现在只能在EC2上面自己安装一个单机版的xxl-job了。

步骤

下载压缩包

在这个页面下载压缩包,并本地解压。
https://github.com/xuxueli/xxl-job/releases

mysql准备

找到它默认身数据库初始化文件:

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

登录到自己的mysql数据库中:

# 创建数据库
CREATE database if NOT EXISTS `xxl_job` default character set utf8mb4 collate utf8mb4_unicode_ci;
# 创建用户
create user 'xxl_job'@'%' identified by 'xxxxx';
# 分配权限
grant all privileges on xxl_job.* to 'xxl_job'@'%';
# 刷新权限
flush privileges;
# 登录数据库
mysql -h xxxx.rds.zxxxx.com -P 3306 -u xxl_job -p
# 登录成功后,使用xxl_job数据库
use xxl_job;
# 导入初始化数据库文件
source tables_xxl_job.sql;

修改xxl-job配置

找到如下文件:

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

调整如下内容:

### xxl-job, datasource
spring.datasource.url=jdbc:mysql://xxxx.rds.zxxxx.com:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=xxl_job
spring.datasource.password=xxxxx

maven构建jar

mvn clean && mvn package -Dmaven.test.skip=true

然后,将构建好的文件

/xxl-job/xxl-job-admin/target/xxl-job-admin-2.4.0.jar

上传到服务,先使用如下命令,手动测试一下,看看服务能不能正常启动:

# 登录到服务器目录
cd /opt
# 设置文件只读
sudo chmod 400 xxl-job-admin-2.4.0.jar
# 试运行
sudo java -jar xxl-job-admin-2.4.0.jar

SysV设置

创建用户和用户组

sudo useradd --system --home /home/xxl-job --shell /sbin/nologin --comment "xxl-job user" --user-group xxl-job

配置用户目录权限

# 创建新目录
sudo mkdir /opt/xxl-job
sudo mkdir /data/applogs
# 移动安装包
sudo mv /opt/xxl-job-admin-2.4.0.jar /opt/xxl-job/xxl-job-admin-2.4.0.jar
# 分配权限
sudo chown -R xxl-job:xxl-job /opt/xxl-job
sudo chown -R xxl-job:xxl-job /data/applogs
# 创建配置文件
sudo vim /etc/systemd/system/xxl-job.service

内容如下:

[Unit]
Description=XXL-JOB
After=syslog.target network.target[Service]
Type=simple
User=xxl-job
Group=xxl-job
WorkingDirectory=/opt/xxl-job/
ExecStart=java -jar /opt/xxl-job/xxl-job-admin-2.4.0.jar
ExecStop=/bin/kill -15 $MAINPID
SuccessExitStatus=143[Install]
WantedBy=multi-user.target

测试SysV

# 重载 SysV配置
sudo systemctl daemon-reload
# 启动xxl-job-admin
sudo systemctl start xxl-job.service
# 开机自启动
sudo systemctl enable xxl-job.service
# 查看运行状态
sudo systemctl status xxl-job.service

效果

xxl-job效果

总结

到此为止,xxl-job就安装完了,几乎和普通的java应用安装差不多。

参考

  • XXL-JOB

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/309838.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript-2.对话框、函数、数组、Date、DOM

对话框 window对象封装了三个对话框用于与用户交互 提示框:alert(title);确认框:confirm(title);输入框:prompt(title); 确认框 包含两个按钮“确认”/“取消”,点击确定时,返回值为true // 确认框 var bool con…

C语言单链表详解

链表和顺序表的区别 顺序表的底层存储空间是连续的,链表的底层存储空间是不连续的,链表的每个节点需要额外的指针来指向下一个节点,占用更多的存储空间。 顺序表的随机访问性能好,时间复杂度为O(1),链表的随机访问性能…

Linux系统搭建FastDFS文件服务结合内网穿透实现公网访问本地文件

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

在个人电脑上,本地部署llama2-7b大模型

文章目录 前言原理效果实现 前言 我想也许很多人都想有一个本地的ai大语言模型,当然如果能够摆脱比如openai,goole,baidu设定的语言规则,可以打破交流界限,自由交谈隐私之类的,突破规则,同时因为部署在本地也不担心被其他人知道,那最好不过了 那究竟有没有这样的模型呢? llam…

Oracle 数据库 count的优化-避免全表扫描

Oracle 数据库 count的优化-避免全表扫描 select count(*) from t1; 这句话比较简单,但很有玄机!对这句话运行的理解,反映了你对数据库的理解深度! 建立实验的大表他t1 SQL> conn scott/tiger 已连接。 SQL> drop table …

树莓派安装Nginx服务结合内网穿透实现无公网IP远程访问

文章目录 1. Nginx安装2. 安装cpolar3.配置域名访问Nginx4. 固定域名访问5. 配置静态站点 安装 Nginx(发音为“engine-x”)可以将您的树莓派变成一个强大的 Web 服务器,可以用于托管网站或 Web 应用程序。相比其他 Web 服务器,Ngi…

解决动态规划问题

文章目录 动态规划的定义动态规划的核心思想青蛙跳阶问题解法一:暴力递归解法二:带备忘录的递归解法(自顶向下)解法三:动态规划(自底向上) 动态规划的解题套路什么样的问题考虑使用动态规划&…

OR36 链表的回文结构

描述 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。 给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。 测试样例: 1->…

【C++成长记】C++入门 | 类和对象(中) |类的6个默认成员函数、构造函数、析构函数

🐌博主主页:🐌​倔强的大蜗牛🐌​ 📚专栏分类:C❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、类的6个默认成员函数 二、构造函数 1、概念 2、特性 三、析构函数 1、概念 2、特性 一、…

R语言 多组堆砌图

目录 数据格式 普通绘图 添加比例 R语言 堆砌图_r语言堆砌图-CSDN博客 关键点在于数据转换步骤和数据比例计算步骤&#xff0c;然后个性化调整图。 ①data <- melt(dat, id.vars c("ID"))##根据分组变为长数据 ②#计算百分比## data2 <- ddply(data, …

【数据结构】第三节:单链表

前言 本篇要求掌握的C语言基础知识&#xff1a;指针、结构体 目录 前言 单链表 概念 对比链表和顺序表 创建链表 实现单链表 准备工作 打印链表 创建节点并初始化 尾插 二级指针的调用 尾插代码 头插 尾删 头删 查找&#xff08;返回节点&#xff09; 在指定位…

Vue笔记 2

数据代理 数据代理&#xff1a;通过一个对象代理对另一个对象中属性的操作&#xff08;读/写&#xff09; let obj{x:100} let obj2{y:200} Object.defineProperty(obj2,x,{get(){return obj.x},set(value){obj.x value} })Vue中的数据代理 Vue中的数据代理&#xff1a; 通…

Java集合(一)--Map(2)

ConcurrentHashMap与HashTable 底层实现 在JDK1.7时&#xff0c;底层采用的是分段数组&#xff0b;链表的形式&#xff0c;在JDK1.8之后&#xff0c;采用的是与HashMap相同的形式&#xff0c;数组链表/红黑树。而HashTable采用的是数组链表的形式。 如何实现线程安全 Concu…

OpenCV4.9图像金字塔

目标 在本教程中&#xff0c;您将学习如何&#xff1a; 使用 OpenCV 函数 pyrUp()和 pyrDown()对给定图像进行下采样或上采样。 理论 注意 下面的解释属于 Bradski 和 Kaehler 的 Learning OpenCV 一书。 通常&#xff0c;我们需要将图像转换为与原始图像不同的大小。为此…

spring boot 集成rocketMq + 基本使用

1. RocketMq基本概念 1. NameServer 每个NameServer结点之间是相互独立&#xff0c;彼此没有任何信息交互 启动NameServer。NameServer启动后监听端口&#xff0c;等待Broker、Producer、Consumer连接&#xff0c; 相当于一个路由控制中心。主要是用来保存topic路由信息&#…

Blender表面细分的操作

在使用Blender的过程中,刚开始创建的模型,都会比较少面,这样操作起来比较流畅,减少电脑的计算量,当设计快要完成时,就会增加表面细分,这样更加圆滑,看起来更加顺眼。 比如创建一个猴头,它会默认显示如下: 从上图可以看到,有一些表面会比较大,棱角很多。 这时候你…

微商商城源码小程序好用么?

商城APP作为电子商务行业的重要组成部分&#xff0c;已经成为了人们购物的主要方式之一。为了在竞争激烈的市场中脱颖而出&#xff0c;开发一款专业且思考深度的商城APP方案显得尤为关键。本文将从专业性和思考深度两个方面&#xff0c;探讨商城APP的开发方案。 一、专业性的重…

CloudCompare——win11配置CloudComPy

CloudComPy配置 1 基本环境介绍2 安装Anaconda2.1 下载anaconda2.2 安装anaconda2.3 配置镜像源2.4 更改虚拟环境的默认创建位置2.5 其他问题2.5.1 激活自己创建的环境提示&#xff1a;系统找不到指定的路径2.5.2 InvalidVersionSpecError: Invalid version spec: 2.72.5.3 卸载…

如何解决网站建设打开速度慢的问题?

如何解决网站建设打开速度慢的问题&#xff1f;在浏览网站的时候&#xff0c;网站打开速度的快慢也是能够直接影响到用户的体验感的。因为网站打开速度太慢&#xff0c;不仅浪费了大家的时间&#xff0c;同时还容易消耗浏览者的很大一部分耐心。 所以说不管是对于企业来说&…

hive了解系列一

“ 随着智能手机的普及&#xff0c;互联网时代红利的爆发&#xff0c;用户数量和产生的数据也越发庞大。为了解决这个问题&#xff0c;提高数据的使用价值。 Hadoop生态系统就被广泛得到应用。 在早期&#xff0c;Hadoop生态系统就是为处理如此大数据集而产生的一个合乎成本效益…