xxl-job executor容器化部署常见问题

背景:docker swarm集群部署xxl-job

问题:

(1) 执行器自动注册失败

(2) 任务管理台任务执行日志未显示

(3) xxl-job客户端与服务端版本不一致问题

问题分析:

问题1:执行器自动注册失败

错误原因:执行器配置问题

xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin

错误分析:

生产部署存在2种部署模式,其一:xxl-job-admin容器与xxl-job-executor容器跨集群部署;其二:xxl-job-admin容器与xxl-job-executor容器同一集群部署,主要是网络策略问题导致admin服务无法访问导致自动注册失败。

解决方案:

(1) 同一集群下部署,网络是互通的,容器之间可以使用容器名进行通信,配置应该配置如下形式即可:

xxl.job.admin.addresses=http://xxljob-admin容器名:对内端口/xxl-job-admin/

另外,执行器注册端口尽量不要指定死,可以按照说明配置为0。

(2) 跨集群下部署,网络是不直接互通的,容器间访问需要借助一些中间件进行通信,通常做法是增加网关或者通过映射宿主机开放端口使用负载均衡访问。

问题2:任务管理台任务执行日志未显示

错误原因:

xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler

错误分析:

任务触发后,执行器日志报错 No such file or directory。。。,主要是xxljob输出日志文件夹不存在且无创建权限导致。

解决方案:

(1) xxl.job.executor.logpath指定为容器当前工作目录下。

(2) docker镜像构建时,指定如:RUN mkdir /xxl-job/logs/ 。

(3) 非容器的部署,通常也是检查运行应用的用户是否有指定文件夹的读写权限。

问题3:xxl-job客户端与服务端版本不一致问题

错误分析:不同版本,API以及处理逻辑、表结构设计都存在一定差异,会导致任务调度异常等一些奇葩问题。

解决方案:建议最好选择客户端与服务端一致版本使用。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Linux 上部署 xxl-job,需要进行以下步骤: 1. 安装 Java:在 Linux 上安装 Java 运行环境。 2. 下载 xxl-job:从 xxl-job 的官网下载 xxl-job 的安装包。 3. 解压安装包:使用以下命令解压安装包。 ```bash tar -zxvf xxl-job-2.3.0.tar.gz ``` 4. 修改配置文件:进入解压后的 xxl-job 目录,修改 `conf/application.properties` 配置文件,配置数据库连接等参数。 ```properties # xxl-job admin address list, such as "http://address" or "http://address01,http://address02" xxl.job.admin.addresses=http://localhost:8080/xxl-job-admin # xxl-job executor ip: default get local address xxl.job.executor.ip= # xxl-job executor port: default 9999 xxl.job.executor.port=9999 # xxl-job executor appname xxl.job.executor.appname=xxl-job-executor-sample # xxl-job executor log path xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler # xxl-job executor log retention days xxl.job.executor.logretentiondays=30 # xxl-job executor registry address: zookeeper address xxl.job.registry.address=zookeeper://localhost:2181 ``` 5. 启动 xxl-job-admin:使用以下命令启动 xxl-job-admin。 ```bash sh bin/startup.sh ``` 6. 访问 xxl-job-admin:在浏览器中访问 `http://localhost:8080/xxl-job-admin`,输入用户名和密码,登录 xxl-job-admin。 7. 创建任务:在 xxl-job-admin 中创建任务,并配置任务的执行方式、参数等。 8. 启动 xxl-job-executor:在需要执行任务的服务器上,使用以下命令启动 xxl-job-executor。 ```bash java -jar xxl-job-executor-sample-springboot-2.3.0.jar ``` 以上就是在 Linux 上部署 xxl-job 的步骤。通过 xxl-job,我们可以方便地实现分布式定时任务调度,提高系统的可扩展性和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值