信步漫谈之SpringBoot+ElasticJob实现分布式任务调度
目录
1 相关简介
- zookeeper:开源分布式应用程序协调服务
下载地址:https://archive.apache.org/dist/zookeeper/
2 Zookeeper 的 Docker 安装
- 镜像拉取:docker pull zookeeper
- docker-compose.yml
# 描述 Compose 文件的版本信息
version: '3.8'
# 定义服务,可以多个
services:
zookeeper: # 服务名称
image: zookeeper # 创建容器时所需的镜像
container_name: zookeeper # 容器名称
ports:
- "2181:2181"
privileged: true
volumes:
- /etc/localtime:/etc/localtime
restart: always # 容器总是重新启动
3 Zookeeper 的 Windows 版本安装
- 下载 zookeeper-3.4.8.tar.gz,直接解压到安装目录
- 配置系统环境变量
1)ZOOKEEPER_HOME:安装目录
2)PATH:添加“安装目录\bin” - 进入安装目录,新建data文件夹
- 进入“安装目录\conf”下,复制zoo_sample.cfg为zoo.cfg,修改内部“dataDir=”的值为以上data目录全路径
dataDir=G:\\ProgramFiles\\zookeeper-3.4.9\\data
- 点击“安装目录\bin”下的 zkServer.cmd 启动服务
- 点击“安装目录\bin”下的 zkCli.cmd 启动客户端,可输入命令执行
4 Zookeeper 图形化客户端 prettyZoo
- 下载地址:https://github.com/vran-dev/PrettyZoo/releases
- 免安装,直接下载prettyZoo-win.zip后解压,双击prettyZoo.exe启动,添加连接即可使用
5 示例代码
见 https://gitee.com/alfredinchange/springboot.git 下 com.alfred.springboot.elasticjob
6 添加任务监听器
- 在项目resources 新建文件夹: META-INF\services
- 在新建文件夹下创建文件,名称为:org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener
- 内容为监听器类全路径
com.alfred.springboot.elasticjob.listener.MyElasticJobListener
- 在application.yml所需监听的elasticjob中添加jobListenerTypes,值为所配置监听器的getType值