1.所需文件
powerjob-server.tar 调度中心的镜像文件
mysql.tar mysql数据库的镜像文件
powerjob-worker-agent-4.3.6.jar 执行器的jar包
2.安装mysql数据库
- 导入mysql镜像
docker load -i mysql.tar
- 查看mysql镜像是否导入完成
docker images
- 启动mysql容器
docker run -itd --name=mysql --restart always --privileged=true \
-p 3306:3306 \
-v /data/cy/mysql/data:/var/lib/mysql \
-v /data/cy/mysql:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=Shikuang123 mysql:5.7.31 \
--character-set-server=utf8 --collation-server=utf8_general_ci
-v /data/cy/mysql/data:/var/lib/mysql 挂载目录--->主机目录:容器内目录
MYSQL_ROOT_PASSWORD=? 设置mysql连接密码
- 进入docker容器创建powerjob-server的数据库(必须)
docker exec -it mysql /bin/bash
mysql -uroot -pShikuang123
CREATE DATABASE IF NOT EXISTS `powerjob-product` DEFAULT CHARSET utf8mb4
3.安装powerjob-server
- 导入powerjob-server镜像
docker load -i powerjob-server.tar
- 查看powerjob-server镜像是否导入完成
docker images
- 启动powerjob-server容器
docker run -d \
--restart=always \
--name powerjob-server \
-p 7700:7700 -p 10086:10086 -p 10010:10010 \
-e TZ="Asia/Shanghai" \
-e JVMOPTIONS="" \
-e PARAMS="--spring.profiles.active=product --spring.datasource.core.jdbc-url=jdbc:mysql://ip:3306/powerjob-product?useUnicode=true&characterEncoding=UTF-8 --spring.datasource.core.username=root --spring.datasource.core.password=root" \
-v /data/cy/powerjob/powerjob-server:/root/powerjob/server -v /data/cy/powerjob/powerjob-server/.m2:/root/.m2 \
tjqq/powerjob-server:latest
-e PARAMS 设置数据库的连接参数
注:必须开放以下端口 7700,10086,10010
- 调度服务器部署完成后可访问 http://ip:7700 检验是否部署成功!
4.部署执行器
- 先去调度服务器ip:7700界面点击执行应用注册注册,应用名称即为执行器启动命令时-a 后面的参数
- 将jar包放到指定目录下,用一下命令前台启动
java -jar powerjob-worker-agent-4.3.6.jar -a agent28 -s 127.0.0.1:7700
-a agent28为注册的应用名称
-s 127.0.0.1:7700为调度中心所在服务器的ip端口号
- 启动成功后,登录调度界面,在主页看是否有执行器服务器地址,如果存在为执行器注册成功,如果不存在去控制台看打印日志
- 上述为前台启动,成功注册后后可转为后台启动,以下为后台启动脚本,powerjob-worker-agent-4.3.6.jar需与jar包名称一致
start.sh
nohup java -jar powerjob-worker-agent-4.3.6.jar -a agent28 -s 10.181.23.28:7700 > /dev/null 2>&1 &
stop.sh
#!/bin/bash
# 查找进程id
pid=$(ps -ef | grep powerjob-worker-agent-4.3.6.jar | grep -v grep | awk '{print $2}')
# 检查进程是否存在
if [[ -n "$pid" ]]; then
# 结束进程
kill -9 ${pid}
echo "已结束进程:" ${pid}
else
echo "未找到对应进程"
fi
5.创建调度任务
- 登录调度界面,点击任务管理,点击新建任务
必填项介绍:
1.任务名称:当前调度任务名称
2.任务参数:/data/cy/shell/exec.sh CLDAS_RT_BEXN_0P001_10MIN-TEM 调度任务的脚本位置及传参
3.定时信息:CRON 后面填cron表达式,填写后建议点击校验定时参数,查看定时参数是否被系统识别
4.执行配置:单机执行 内建 输入参数如下
执行shell脚本
tech.powerjob.official.processors.impl.script.ShellProcessor
执行python脚本
tech.powerjob.official.processors.impl.script.PythonProcessor
- 然后点击保存,成功创建调度任务,第一次创建可以点击运行查看脚本是否能正确被执行
本教程只是自用,其他调度方式请自行研究