1分钟 搭建xxl-job任务调度中心
生活随笔
收集整理的這篇文章主要介紹了
1分钟 搭建xxl-job任务调度中心
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、前提環境
- 1. 安裝java環境
- 2. 安裝maven打包環境
- 3. docker安裝mysql
- 二、搭建xxl-job 服務端(源碼)
- 三、搭建xxl-job 服務端(docker)
- 四、常見異常解決方案
- 4.1. docker中mysql容器的ip怎樣獲取?
- 4.2. xxl-job 連接數據庫失敗?
一、前提環境
1. 安裝java環境
下載(略)
環境變量
刷新環境變量
source /etc/profile java -version2. 安裝maven打包環境
[root@localhost app]# wget https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz [root@localhost app]# tar -zxvf apache-maven-3.6.3-bin.tar.gz [root@localhost app]# echo 'export PATH=/app/apache-maven-3.6.3/bin:$PATH' >>/etc/profile [root@localhost app]# source /etc/profile [root@localhost app]# mvn -v Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /app/apache-maven-3.6.3配置阿里云倉庫鏡像 [root@localhost app]# cd apache-maven-3.6.3/conf/ [root@localhost conf]# vim settings.xml找到節點添加即可
<mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror>3. docker安裝mysql
docker 安裝 mysql和Navicat Premium 遠程連接
https://gblfy.blog.csdn.net/article/details/113809710
二、搭建xxl-job 服務端(源碼)
Github地址:https://www.xuxueli.com/xxl-job/
# 調度數據庫初始化SQL腳本” 并執行 調度數據庫初始化SQL腳本” 位置為: /xxl-job/doc/db/tables_xxl_job.sql# 在線下載 wget https://github.com/xuxueli/xxl-job/archive/2.3.0.tar.gz# 解壓 tar -zxvf xxl-job-2.3.0.tar.gz# 配置mysql密碼 vim xxl-job-2.3.0/xxl-job-admin/src/main/resources/application.properties# 項目編譯打包 cd xxl-job-2.3.0/ mvn clean install -DskipTests# xxl-job后臺部署 cd xxl-job-2.3.0/xxl-job-admin/target nohup java -jar xxl-job-admin-2.3.0.jar &# 開放8080端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent# 重啟防火墻 firewall-cmd --reload# 瀏覽器訪問 http://192.168.43.119:8080/xxl-job-admin/賬號/密碼:admin/123456
至此“調度中心”項目已經部署成功。
三、搭建xxl-job 服務端(docker)
# 拉取鏡像 docker pull xuxueli/xxl-job-admin:2.3.0# 創建容器并運行(這是注意mysql也在docker容器中) # 第一種:docker中的xxl-job連接docker中的mysql docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://172.17.0.2:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true --spring.datasource.password=root" -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin -d xuxueli/xxl-job-admin:2.3.0# 普通非docker中的mysql(密碼默認) # 第二種:docker中的xxl-job連接宿主機上的mysql docker run -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin -d xuxueli/xxl-job-admin:2.3.0# 普通非docker中的mysql(密碼非默認) # 第三種:docker中的xxl-job連接宿主機上的mysql docker run -e PARAMS="--spring.datasource.password=root" -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin -d xuxueli/xxl-job-admin:2.3.0注: 1.以上屬于2種場景(都是docker中應用和一個是docker應用一個不是) 2.第一種:不要添加&serverTimezone=Asia/Shanghai因為docker容器內部不識別,待定位具體原因 3.對于docker中的應用和docker中的應用之間要通信連接,需要連接docker內部的ip,而非宿主機的ip賬號/密碼:
admin/123456
四、常見異常解決方案
4.1. docker中mysql容器的ip怎樣獲取?
docker 中用docker 啟動應用訪問docker中的mysql
https://gblfy.blog.csdn.net/article/details/113810453
4.2. xxl-job 連接數據庫失敗?
現象:
解決方案:
通過查看docker中啟動的xuxueli/xxl-job-admin:2.3.0容器的日志定位和分析問題‘
異常關鍵日志:
com.mysql.cj.exceptions.CJException: Unknown database 'xxl_job'從日志中可以看出,很明顯連接不上這個數據庫
通過客戶端連接mysql服務端查看xxl_job是否存在
由于mysql容器是咱們剛創建的因此xxl_job不存在
解決方案:
1.創建數據庫
2.初始化表結構
總結
以上是生活随笔為你收集整理的1分钟 搭建xxl-job任务调度中心的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux Shell脚本_历史命令显
- 下一篇: 5款神器级别Github 的Chrome