轻量级分布式任务调度框架 LTS 使用教程
1. 项目的目录结构及介绍
LTS(Light Task Scheduler)是一个轻量级分布式任务调度框架,其目录结构如下:
light-task-scheduler/
├── docs/ # 文档目录
├── lts-admin/ # 管理后台模块
├── lts-core/ # 核心模块
├── lts-jobclient/ # JobClient 模块
├── lts-jobtracker/ # JobTracker 模块
├── lts-monitor/ # 监控模块
├── lts-spring/ # Spring 集成模块
├── lts-startup/ # 启动模块
├── lts-tasktracker/ # TaskTracker 模块
├── gitattributes # Git 属性配置
├── gitignore # Git 忽略配置
├── LICENSE # 许可证文件
├── README.md # 项目介绍文档
├── build.cmd # 构建命令(Windows)
├── build.sh # 构建命令(Linux)
├── pom.xml # Maven 配置文件
├── 开发者规范.md # 开发者规范文档
├── 开发计划.md # 开发计划文档
主要模块介绍
- lts-admin: 管理后台模块,负责节点管理、任务队列管理、监控管理等。
- lts-core: 核心模块,包含框架的核心功能和基础组件。
- lts-jobclient: JobClient 模块,负责提交任务和接收任务执行反馈结果。
- lts-jobtracker: JobTracker 模块,负责接收并分配任务,任务调度。
- lts-monitor: 监控模块,负责监控任务执行情况。
- lts-spring: Spring 集成模块,方便与 Spring 框架集成。
- lts-startup: 启动模块,包含启动脚本和配置。
- lts-tasktracker: TaskTracker 模块,负责执行任务并反馈结果给 JobTracker。
2. 项目的启动文件介绍
LTS 项目的启动文件主要位于 lts-startup
模块中,具体包括:
- build.cmd: Windows 平台下的启动脚本。
- build.sh: Linux 平台下的启动脚本。
启动步骤
-
克隆项目:
git clone https://github.com/ltsopensource/light-task-scheduler.git
-
进入项目目录:
cd light-task-scheduler
-
构建项目:
- 在 Windows 平台下运行
build.cmd
。 - 在 Linux 平台下运行
build.sh
。
- 在 Windows 平台下运行
-
启动各个模块:
- 根据需要启动
lts-admin
,lts-jobclient
,lts-jobtracker
,lts-tasktracker
等模块。
- 根据需要启动
3. 项目的配置文件介绍
LTS 项目的配置文件主要位于各个模块的 src/main/resources
目录下,常见的配置文件包括:
- lts.properties: 核心配置文件,包含任务调度、节点配置、注册中心配置等。
- log4j.properties: 日志配置文件,用于配置日志输出。
主要配置项
-
lts.properties:
# JobTracker 配置 job.tracker.port=35001 job.tracker.registry.address=zookeeper://127.0.0.1:2181 # TaskTracker 配置 task.tracker.work.dir=work task.tracker.node.group=test_trade_TaskTracker task.tracker.job.runner.class=com.lts.example.job.TestJobRunner # JobClient 配置 job.client.node.group=test_jobClient job.client.registry.address=zookeeper://127.0.0.1:2181
-
log4j.properties:
log4j.rootLogger=INFO, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-