快速使用分布式定時任務 xxl-job
需要linux服務器環境安裝: jdk1.8 ,docker
安裝步驟地址 : linux快速安裝jdk 、 在linux里安裝docker
1.docker安裝mysql數據庫
網站 https://hub.docker.com/_/mysql?tab=tags
查找mysql的版本,拉取鏡像
命令: docker pull mysql:5.7
通過鏡像運行容器
命令:docker run --name mysql-master --privileged=true -v /home/mysql/master-data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
2.找到xxl-job-admin的docker鏡像信息,選擇2.1.0版本
網址: https://hub.docker.com/r/xuxueli/xxl-job-admin/tags
拉取鏡像命令:docker pull xuxueli/xxl-job-admin:2.1.0
3.下載xxl-job 源碼,網址 https://gitee.com/xuxueli0323/xxl-job/tree/2.1.0
4.找到源碼中的數據庫腳本 xxl-job\doc\db\tables_xxl_job.sql ,在數據庫中執行,創建數據庫和表
5.啟動xxl-job-admin容器 ,命令如下:
docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.0.88:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 --spring.datasource.username=root --spring.datasource.password=root --spring.datasource.driver-class-name=com.mysql.jdbc.Driver" -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin -d xuxueli/xxl-job-admin:2.1.0
6.調度中心訪問地址:http://192.168.88.129:8080/xxl-job-admin (該地址執行器將會使用到,作為回調地址)
默認登錄賬號 "admin/123456", 登錄后運行界面如下圖所示。
到此,xxl-job-admin部署完成。
7.網址,https://gitee.com/xkcoding/spring-boot-demo下載客戶端代碼。
導入 spring-boot-demo-task-xxl-job 項目到IDEA
8. 修改application.yml的配置文件。
8.1 address 的ip地址寫linux的ip。
8.2 填寫執行器ip,當在本地啟動時,執行器ip寫本機電腦的ip,命令 ipconfig 的 ipv4地址。當linux啟動時,寫linux的ip,命令 ip addr
9.在web控制台,配置添加執行器,注意與上面的配置一致。選擇手動錄入執行器地址。
注意:當linux是在vmware等虛擬機上安裝的,會有多個虛擬網卡,不能使用自動注冊,否則找不到執行器ip地址。
10.添加一個任務。
11.定時器會觸發執行這里的代碼。
這樣就快速完成了部署分布式定時任務 xxl-job