xxl-job 部署

环境

使用源码编译安装,要有 JDK 及 Maven。

安装

克隆源码并编译,

git clone https://gitee.com/xuxueli0323/xxl-job.git
cd xxl-job

由于需要连接数据库,修改配置 xxl-job-admin/src/main/resources/application.properties

### xxl-job, datasource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=UMd8qAXoE-mm
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

接着创建数据库及表,

# pwd
/root/xxl-job
# mysql -uroot -p"UMd8qAXoE-mm" < doc/db/tables_xxl_job.sql

开始编译,

# mvn clean package
[INFO] Scanning for projects...
省略很多输出
[INFO] ----------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] xxl-job ................................... SUCCESS [0.091s]
[INFO] xxl-job-core .............................. SUCCESS [1.478s]
[INFO] xxl-job-admin ............................. SUCCESS [2.836s]
[INFO] xxl-job-executor-samples .................. SUCCESS [0.002s]
[INFO] xxl-job-executor-sample-frameless ......... SUCCESS [0.617s]
[INFO] xxl-job-executor-sample-springboot ........ SUCCESS [0.611s]
[INFO] ----------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ----------------------------------------------------------------
[INFO] Total time: 5.900s
[INFO] Finished at: Tue Jul 13 14:33:59 CST 2021
[INFO] Final Memory: 50M/448M
[INFO] ----------------------------------------------------------------

编译安装完成就可以启动了,构建物为:

# ls xxl-job-admin/target/xxl-job-admin-2.3.0.jar
xxl-job-admin/target/xxl-job-admin-2.3.0.jar

接着启动服务,

# java -jar -server xxl-job-admin/target/xxl-job-admin-2.3.0.jar

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.4.2)

14:38:57.170 logback [main] INFO  c.x.job.admin.XxlJobAdminApplication - Starting XxlJobAdminApplication using Java 1.8.0_292 on liuchuanchuan-wbg-5.novalocal with PID 20746 (/root/xxl-job/xxl-job-admin/target/xxl-job-admin-2.3.0.jar started by root in /root/xxl-job)
14:38:57.176 logback [main] INFO  c.x.job.admin.XxlJobAdminApplication - No active profile set, falling back to default profiles: default
14:38:58.854 logback [main] INFO  o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http)
14:38:58.865 logback [main] INFO  o.a.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"]
14:38:58.866 logback [main] INFO  o.a.catalina.core.StandardService - Starting service [Tomcat]
14:38:58.866 logback [main] INFO  o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.41]
14:38:58.922 logback [main] INFO  o.a.c.c.C.[.[.[/xxl-job-admin] - Initializing Spring embedded WebApplicationContext
14:38:58.923 logback [main] INFO  o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1418 ms
14:38:59.700 logback [main] INFO  c.x.j.a.c.scheduler.XxlJobScheduler - >>>>>>>>> init xxl-job admin success.
14:38:59.722 logback [xxl-job, admin JobLogReportHelper] INFO  com.zaxxer.hikari.HikariDataSource - HikariCP - Starting...
14:38:59.896 logback [main] INFO  o.s.s.c.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
14:39:00.078 logback [main] INFO  o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page template: index
14:39:00.380 logback [xxl-job, admin JobLogReportHelper] INFO  com.zaxxer.hikari.HikariDataSource - HikariCP - Start completed.
14:39:00.765 logback [main] INFO  o.s.b.a.e.web.EndpointLinksResolver - Exposing 2 endpoint(s) beneath base path '/actuator'
14:39:00.806 logback [main] INFO  o.a.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"]
14:39:00.841 logback [main] INFO  o.a.c.c.C.[.[.[/xxl-job-admin] - Initializing Spring DispatcherServlet 'dispatcherServlet'
14:39:00.842 logback [main] INFO  o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
14:39:00.844 logback [main] INFO  o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms
14:39:00.845 logback [main] INFO  o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '/xxl-job-admin'
14:39:00.864 logback [main] INFO  c.x.job.admin.XxlJobAdminApplication - Started XxlJobAdminApplication in 9.357 seconds (JVM running for 9.98)
14:39:04.000 logback [xxl-job, admin JobScheduleHelper#scheduleThread] INFO  c.x.j.a.c.thread.JobScheduleHelper - >>>>>>>>> init xxl-job admin scheduler success.

通过控制台的日志输出,可以看到 xxl-job 已经启动并且监听了 8080 端口并且访问路径为 /xxl-job-admin,默认的用户名及密码为:admin/123456

简单使用

浏览器登录,界面如下:

请添加图片描述

启动自带的 JobHandler

运行 Shell 脚本

创建一个任务,在 WebIDE 上新增代码,

#!/bin/bash
echo "xxl-job: hello shell"

echo "脚本位置:$0"
echo "任务参数:$1"
echo "分片序号 = $2"
echo "分片总数 = $3"

echo "Good bye!"

touch /tmp/hello   # 创建文件并更新时间戳

exit 0

查看系统上的文件时间戳,

[root@node01 xxl-job-executor-sample-springboot]# ll /tmp/hello 
-rw-r--r-- 1 root root 0 Jul 15 10:05 /tmp/hello
[root@node01 xxl-job-executor-sample-springboot]# ll /tmp/hello 
-rw-r--r-- 1 root root 0 Jul 15 10:05 /tmp/hello

[root@node01 xxl-job-executor-sample-springboot]# ll /tmp/hello 
-rw-r--r-- 1 root root 0 Jul 15 10:06 /tmp/hello
[root@node01 xxl-job-executor-sample-springboot]# ll /tmp/hello 
-rw-r--r-- 1 root root 0 Jul 15 10:06 /tmp/hello

可以在 WEB 界面上查看执行日志,

2021-07-15 10:05:00 [com.xxl.job.core.thread.JobThread#run]-[130]-[Thread-10] 
----------- xxl-job job execute start -----------
----------- Param:
2021-07-15 10:05:00 [com.xxl.job.core.handler.impl.ScriptJobHandler#execute]-[80]-[Thread-10] ----------- script file:/data/applogs/xxl-job/jobhandler/gluesource/6_1626314395000.sh -----------
xxl-job: hello shell
脚本位置:/data/applogs/xxl-job/jobhandler/gluesource/6_1626314395000.sh
任务参数:
分片序号 = 0
分片总数 = 1
Good bye!
2021-07-15 10:05:00 [com.xxl.job.core.thread.JobThread#run]-[176]-[Thread-10] 
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=200, handleMsg = null
2021-07-15 10:05:00 [com.xxl.job.core.thread.TriggerCallbackThread#callbackLog]-[197]-[xxl-job, executor TriggerCallbackThread] 
----------- xxl-job job callback finish.

[Load Log Finish]

可以使用 Nginx 进行反向代理,配置如下:

server {
    listen       8787;
    # server_name  nacos.lavenliu.cn;
    server_name  11.22.33.44;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://172.16.2.12:8787;
    }

    error_page   500 502 503 504  /50x.html;

    location = /50x.html {
        root   html;
    }
}
  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LavenLiu

常言道:投资效率是最大的投资。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值