分布式任务调度平台XXL-JOB
1、官方文档
自己看
https://www.xuxueli.com/xxl-job/#1.1%20%E6%A6%82%E8%BF%B0
2、使用docker部署
本人使用的腾讯云,安装docker暴露一下端口,就很舒服的安装这个服务了。
docker pull xuxueli/xxl-job-admin:2.4.0
3、执行容器
mkdir -p /tmp/data/applogs
docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://172.19.1.30:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=123456!" -p 8080:8080 -v /tmp/data/applogs:/data/applogs --name xxl-job-admin -d xuxueli/xxl-job-admin:2.4.0
–net mynet --ip 172.19.1.30
docker需要搞个桥,不然就连不了。需要同一个网段,我之前已经连了,mysql,nginx,nacos。在172.19.0.0这个网段上。所以优化
docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://172.19.1.30:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=123456!" -p 8080:8080 -v /tmp/data/applogs:/data/applogs --net mynet --ip 172.19.1.80 --name xxl-job-admin -d xuxueli/xxl-job-admin:2.4.0
启动提示sql中未知database。
4、那么还得初始化sql,还以为不用呢。
请下载项目源码并解压,获取 “调度数据库初始化SQL脚本” 并执行即可。
https://gitee.com/xuxueli0323/xxl-job/blob/master/doc/db/tables_xxl_job.sql
“调度数据库初始化SQL脚本” 位置为:
/xxl-job/doc/db/tables_xxl_job.sql
调度中心支持集群部署,集群情况下各节点务必连接同一个mysql实例;
如果mysql做主从,调度中心集群节点务必强制走主库;
4、访问地址
http://111.231.74.191:8080/xxl-job-admin
如果已经正确进行上述配置,可将项目编译打包部署。
调度中心访问地址:http://localhost:8080/xxl-job-admin (该地址执行器将会使用到,作为回调地址)
默认登录账号 “admin/123456”, 登录后运行界面如下图所示。
5、发现mysql连接失败
注意docker内部容器等问题
6、成功
其他问题
- 下载镜像
// Docker地址:https://hub.docker.com/r/xuxueli/xxl-job-admin/
(建议指定版本号)docker pull xuxueli/xxl-job-admin
提示
[root@VM-12-13-opencloudos ~]# docker pull xuxueli/xxl-job-admin
Using default tag: latest
Error response from daemon: manifest for xuxueli/xxl-job-admin:latest not found: manifest unknown: manifest unknown
这个竟然还要翻墙。。。!!!
无用命令
docker search xuxueli/xxl-job-admin
这个好像不行!!
-
使用skopeo
skopeo list-tags docker://registry.hub.docker.com/xuxueli/xxl-job-admin #有点麻烦 #官网如下 https://github.com/containers/skopeo/blob/main/install.md #执行命令 sudo dnf install skopeo || sudo yum install skopeo --allowerasing #执行上面的命令 skopeo list-tags docker://registry.hub.docker.com/xuxueli/xxl-job-admin 直接g了 使用容器化工具管理容器: 如果你经常需要管理容器和镜像,考虑使用如 Podman 这样的工具,它是 Docker 的一个开源替代品,不需要守护进程,可以很好地与 skopeo 配合使用。
-
使用curl
curl -s "https://registry.hub.docker.com/v2/repositories/xuxueli/xxl-job-admin/tags/" | jq '.results[].name' https://docker.mirrors.ustc.edu.cn
-
然后我的docker没了!@!@!
还是直接用网页获取,如图使用2.4.0
docker pull xuxueli/xxl-job-admin #这个没用
会提示 Using default tag: latest
Error response from daemon: manifest for xuxueli/xxl-job-admin:latest not found: manifest unknown: manifest unknown
- 创建容器并运行
docker run -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin -d xuxueli/xxl-job-admin:{指定版本}/*** 如需自定义 mysql 等配置,可通过 "-e PARAMS" 指定,参数格式 PARAMS="--key=value --key2=value2" ;* 配置项参考文件:/xxl-job/xxl-job-admin/src/main/resources/application.properties* 如需自定义 JVM内存参数 等配置,可通过 "-e JAVA_OPTS" 指定,参数格式 JAVA_OPTS="-Xmx512m" ;*/docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai" -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin -d xuxueli/xxl-job-admin:{指定版本}
我还得重新下载docker
先清除docker