XXL-JOB是一個輕量級分布式任務調度平臺,其核心設計目標是開發(fā)迅速、學習簡單、輕量級、易擴展、開箱即用。
更多介紹,請訪問官網:分布式任務調度平臺XXL-JOB
一、任務調度中心(基于docker)【Version 2.4.0】
前提條件:任務調度中心(xxl-job admin)依賴于 mysql,所以必須要安裝mysql才行!安裝mysql有2種方式:docker部署或者在線安裝或者編譯安裝部署。具體操作請自行解決。
主要實現(xiàn)方式與官方推薦略有不同,這里將application.properties
配置文件映射到容器內部, 然后利用spring.config.location
覆蓋默認的啟動配置文件
1. 數(shù)據庫腳本下載并在數(shù)據庫中執(zhí)行
wget https://github.com/xuxueli/xxl-job/raw/2.4.0/doc/db/tables_xxl_job.sql
如何執(zhí)行不在此處贅述。
2. 拉取鏡像
docker hub官方鏡像地址: xxl-job-admin
docker pull xuxueli/xxl-job-admin
執(zhí)行會報錯:
Using default tag: latest Error response from daemon: manifest for xuxueli/xxl-job-admin:latest not found
為什么呢?因為官方沒有打 latest 的tag標簽,所以會提示下載失??!那怎么下載呢?必須制定版本才可以!截至本文發(fā)布時最新版本是2.4.0
那么下載命令為:
docker pull xuxueli/xxl-job-admin:2.4.0
也可在后續(xù)docker啟動時自動拉取鏡像。
3. 下載application.properties
wget https://github.com/xuxueli/xxl-job/raw/2.4.0/xxl-job-admin/src/main/resources/application.properties
4. 修改application.properties
主要修改服務啟動的端口(使用默認8080的話可不修改),mysql的連接信息,SMTP的連接信息(可不修改如果不需要SMTP發(fā)送郵件的話)
5. 啟動容器
docker run -d --name xxl-job-admin \
-v [修改后的配置文件位置]:/application.properties \
-p 8008:8080 --network=1panel-network \
-e PARAMS='--spring.config.location=/application.properties' \
--restart always \
xuxueli/xxl-job-admin:2.4.0
下面是對每個參數(shù)的解釋:
-
-d
:在后臺運行容器(以守護態(tài)模式運行)。 -
--name xxl-job-admin
:指定容器的名稱為"xxl-job-admin"。 -
-v [修改后的配置文件位置]:/application.properties
:將修改后的配置文件掛載到容器中的/application.properties
路徑,可以通過這個文件來配置xxl-job-admin應用。 -
-p 8008:8080
:端口映射,將主機的8008端口映射到容器的8080端口,這樣你就可以通過主機的8008端口訪問xxl-job-admin應用。 -
--network=1panel-network
:將容器連接到名為"1panel-network"的網絡,這樣可以與其他容器進行通信。 -
-e PARAMS='--spring.config.location=/application.properties'
:設置環(huán)境變量PARAMS
,其中--spring.config.location=/application.properties
是指使用指定的配置文件啟動xxl-job admin。 -
--restart always
,當容器意外退出或宿主機重啟時,Docker將自動重新啟動xxl-job-admin
容器 -
xuxueli/xxl-job-admin:2.4.0
:指定要運行的Docker鏡像,版本號為2.4.0,這是xxl-job-admin應用的官方鏡像。
訪問http://ip:8008/xxl-job-admin (如果修改過配置則訪問 http://ip:[server.port]/[server.context-path])即可,默認用戶名為admin,密碼為123456
二、執(zhí)行器【Version 2.4.0】
1. 下載Source并編譯成jar包
2. 安裝openjdk環(huán)境 [Ubuntu 2202]
運行下面代碼即可
sudo apt install openjdk-11-jdk -y
完成后,可以通過檢查 Java 版本來驗證:
java -version
輸出這種類型表示成功了
openjdk 19.0.2 2023-01-17
OpenJDK Runtime Environment (build 19.0.2+7-Ubuntu-0ubuntu322.04)
OpenJDK 64-Bit Server VM (build 19.0.2+7-Ubuntu-0ubuntu322.04, mixed mode, sharing)
3. 下載并根據實際情況修改
wget https://github.com/xuxueli/xxl-job/raw/2.4.0/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties
主要修改xxl-job admin的地址,以及執(zhí)行器的名字
4. 運行
nohup java -jar ./xxl-job-executor-sample-springboot.jar --spring.config.location=./application.properties &
下面是對以上命令行的解釋:
-
nohup
:nohup命令可以讓程序在后臺運行,即使當前終端會話關閉,程序也會繼續(xù)運行。 -
java -jar ./xxl-job-executor-sample-springboot.jar
:這是運行Java應用程序的命令。使用java -jar
來指定要運行的JAR文件,這里是xxl-job-executor-sample-springboot.jar
。 -
--spring.config.location=./application.properties
:通過這個參數(shù)指定應用程序使用的配置文件路徑為./application.properties
??梢愿鶕嶋H情況修改配置文件路徑。 -
&
:這個符號表示將程序放到后臺運行,允許繼續(xù)在終端中執(zhí)行其他命令。
5. 驗證
執(zhí)行器中管理中對應節(jié)點已經自動注冊,接下來就可以安排定時排程去運行shell腳本等了。
文章來源:http://www.zghlxwxcb.cn/news/detail-572329.html
完成xxl-job分布式任務調度系統(tǒng)初步部署,后續(xù)可以根據情況添加更多的執(zhí)行器和節(jié)點,也可以根據實際情況添加xxl-job admin任務調度中心的HA部署等。文章中還有很多自己還沒搞明白的,需要繼續(xù)鉆研。如有瑕疵非常抱歉。文章來源地址http://www.zghlxwxcb.cn/news/detail-572329.html
到了這里,關于【xxl-job】分布式任務調度系統(tǒng)xxl-job搭建的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!