Docker 入门篇(十)-- XXL-Job 任务调度安装

ops/2024/11/14 9:01:24/

一、简介
XXL-Job 是一个轻量级、分布式的任务调度平台,用于处理定时任务和手动触发任务。它具有高可用性、高可靠性和易于扩展等特点,适用于需要分布式任务调度的各种场景。

XXL-Job 相关博客:
Springboot 开发之任务调度框架(二) XXL-Job 从入门到实战

二、环境准备

在开始安装之前,请确保你的系统满足以下条件:

  • 已安装 Docker
  • 已安装 Docker Compose(可选,但推荐用于简化部署)

XXL-Job 主要由以下几个组件构成:

  • Admin: 管理后台,负责任务的增删改查、任务执行状态监控等。
  • Executor: 执行器,负责接收任务执行命令,执行任务。
  • 调度中心: 负责调度任务,将任务分发到对应的执行器。

三、使用 Docker 安装 XXL-Job

步骤 1: 下载 XXL-Job 镜像

XXL-Job 官方提供了 Docker 镜像,你可以直接从 Docker Hub 拉取:

docker pull xuxueli/xxl-job-admin:2.3.0 

xxl-job-executor-sample 的 镜像

docker pull xuxueli/xxl-job-executor-sample:2.3.0

步骤 2: 启动 XXL-Job 服务

使用 Docker 命令启动 XXL-Job 服务:

docker run -d -p 8080:8080 \--name xxl-job-admin \-e PARAMS="--server.port=8080" \xuxueli/xxl-job-admin:2.3.0

docker run -p 8080:8080 \  -v /data/applogs/xxl-job-admin:/data/applogs \  -v /data/xxl-job/jobHandler:/data/xxl-job/jobHandler \  -e PARAMS="--spring.datasource.username=root --spring.datasource.password=root" \  -d xuxueli/xxl-job-admin:2.3.0

这条命令将启动 XXL-Job 的 Admin 服务,并将其映射到宿主机的 8080 端口。

步骤 3: 验证安装

打开浏览器,访问 http://localhost:8080/xxl-job-admin

四、使用 Docker Compose 安装 XXL-Job

如果使用 Docker Compose 来管理服务,可以按照以下步骤操作:

dockercomposeyml__58">步骤 1: 创建 docker-compose.yml 文件

创建一个 docker-compose.yml 文件,并添加以下内容:

version: '3'
services:xxl-job-admin:image:  xuxueli/xxl-job-admin:2.3.0container_name: xxl-job-adminports:- "8080:8080"environment:- PARAMS=--server.port=8080restart: alwaysxxl-job-executor:image: xuxueli/xxl-jobexecutor:2.3.0container_name: xxl-job-executorenvironment:- PARAMS=-xxl.job.admin.addresses=xxl-job-admin:8080links:- xxl-job-adminrestart: always

步骤 2: 启动服务

docker-compose.yml 文件所在目录执行以下命令:

docker-compose up -d

步骤 3: 验证安装

同样地,访问 http://localhost:8080/xxl-job-admin 来验证 XXL-Job 是否成功安装。

五、配置 XXL-Job Executor

在实际使用中,可能需要配置 Executor 以连接到不同的执行环境。在 docker-compose.yml 中,可以通过 environment 配置项来设置 Executor 的参数。


http://www.ppmy.cn/ops/50561.html

相关文章

微信 小程序应用,页面,组件的生命周期

组件生命周期 组件的生命周期:指的是组件自身的一些钩子函数,这些函数在特定的时间节点时被自动触发 组件的生命周期函数需要在 lifetimes 字段内进行声明 最重要的生命周期是 created attached detached 包含一个组件生命周期流程的最主要时间点 定…

Mysql的事务

简单来说,事务就是一组原子性的sql语句。这个语句要么全部执行要么都不执行。 特性 原子性:确保事务的所有操作要么全部完成要么全部不完成,事务的所有操作都视为一个单一不可分割的单元 场景:UPDATE cs_user SET age 18 , ge…

【react】useState 使用指南

React的useState是函数组件中用于管理状态(state)的Hook。以下是关于useState的使用指南,结合参考文章中的信息,以清晰、分点的方式表示: 1. 基本概念 useState是React函数组件中用于管理状态(state)的Hook。它接受一个初始状态值,并返回一个包含当前状态和一个用于更新…

docker 中 File Sharing 和Volumes 的区别

在 Docker 中,File Sharing 和 Volumes 都涉及到将文件和目录从主机系统映射到容器中,但它们的用途和实现方式有一些重要的区别: 一、简介 File Sharing 是 Docker Desktop 在 Windows 和 macOS 上的一项功能,允许你将主机文件系…

Python 列表添加多个值(四种方法)

Python 列表添加多个值有多种方法,以下是其中几种实现方法: 一、使用extend()方法 Python 中列表对象有一个 extend() 方法,它可以一次性添加另一个列表中的所有元素到当前列表中。 例1: a = [1, 2, 3] b = [4, 5, 6] a.extend(b)

芜湖!恒驰大数据迁移案例荣幸亮相“东数西算”芜湖集群创新大会暨华为云华东(芜湖)数据中心全球开服活动

6月13日至14日,“东数西算”芜湖集群创新大会暨华为云华东(芜湖)数据中心全球开服活动在安徽芜湖隆重举办,标志着“东数西算”芜湖集群正式上线、华为云全国存算网的枢纽节点布局全面完成。 本次活动由华为技术有限公司主办、芜湖…

【Linux】进程间通信上 (1.5万字详解)

目录 一.进程间通信介绍 1.1进程间通信的目的 1.2初步认识进程间通信 1.3进程间通信的种类 二.匿名管道 2.1何为管道 2.1实现原理 2.3进一步探寻匿名管道 2.4编码实现匿名管道通信 2.5管道读写特点 2.6基于管道的进程池设计 三.命名管道 3.1实现原理 3.2代码实现 四.…

【Java】已解决java.util.EmptyStackException异常

文章目录 一、问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.util.EmptyStackException异常 一、问题背景 java.util.EmptyStackException是Java在使用java.util.Stack类时可能会遇到的一个异常。这个异常通常在尝试从空的栈中弹出&am…