xxljob默认登录_xxl-job安装部署整理
xxl-job github源碼地址:https://github.com/xuxueli/xxl-job
xxl-job 官方文檔:https://www.xuxueli.com/xxl-job/#
系統(tǒng)組成
調(diào)度模塊(調(diào)度中心):
負(fù)責(zé)管理調(diào)度信息,按照調(diào)度配置發(fā)出調(diào)度請(qǐng)求,自身不承擔(dān)業(yè)務(wù)代碼。調(diào)度系統(tǒng)與任務(wù)解耦,提高了系統(tǒng)可用性和穩(wěn)定性,同時(shí)調(diào)度系統(tǒng)性能不再受限于任務(wù)模塊;
支持可視化、簡(jiǎn)單且動(dòng)態(tài)的管理調(diào)度信息,包括任務(wù)新建,更新,刪除,GLUE開發(fā)和任務(wù)報(bào)警等,所有上述操作都會(huì)實(shí)時(shí)生效,同時(shí)支持監(jiān)控調(diào)度結(jié)果以及執(zhí)行日志,支持執(zhí)行器Failover。
執(zhí)行模塊(執(zhí)行器):
負(fù)責(zé)接收調(diào)度請(qǐng)求并執(zhí)行任務(wù)邏輯。任務(wù)模塊專注于任務(wù)的執(zhí)行等操作,開發(fā)和維護(hù)更加簡(jiǎn)單和高效;
接收“調(diào)度中心”的執(zhí)行請(qǐng)求、終止請(qǐng)求和日志請(qǐng)求等。
架構(gòu)圖
xxl-job 環(huán)境搭建步驟:
1、初始化“調(diào)度數(shù)據(jù)庫(kù)” "調(diào)度數(shù)據(jù)庫(kù)初始化SQL腳本" 位置為:/xxl-job/doc/db/tables_xxl_job.sql
調(diào)度中心支持集群部署,集群情況下各節(jié)點(diǎn)務(wù)必連接同一個(gè)mysql實(shí)例,如果mysql做主從,調(diào)度中心集群節(jié)點(diǎn)務(wù)必強(qiáng)制走主庫(kù)。
2、編譯源碼按照maven格式將源碼導(dǎo)入IDE, 使用maven進(jìn)行編譯即可(這里需要注意admin和core版本最好是要一致,不然會(huì)出現(xiàn)調(diào)度中心調(diào)不到j(luò)ob筆者親自躺坑)
源碼結(jié)構(gòu)如下:
xxl-job-admin:調(diào)度中心
xxl-job-core:公共依賴
xxl-job-executor:執(zhí)行器Sample示例(選擇合適的版本執(zhí)行器,可直接使用,也可以參考其并將現(xiàn)有項(xiàng)
目改造成執(zhí)行器)
xxl-job-executor-sample-spring:Spring版本,通過(guò)Spring容器管理執(zhí)行器,比較通用,推薦這種
方式;
xxl-job-executor-sample-springboot:Springboot版本,通過(guò)Springboot管理執(zhí)行器;
xxl-job-executor-sample-jfinal:JFinal版本,通過(guò)JFinal管理執(zhí)行器;
xxl-job-executor-sample-nutz:Nutz版本,通過(guò)Nutz管理執(zhí)行器
3、配置部署“調(diào)度中心”
調(diào)度中心項(xiàng)目:xxl-job-admin
作用:統(tǒng)一管理任務(wù)調(diào)度平臺(tái)上調(diào)度任務(wù),負(fù)責(zé)觸發(fā)調(diào)度執(zhí)行,并且提供任務(wù)管理平臺(tái)。
① 修改配置文件
老版本:/xxl-job/xxl-job-admin/src/main/resources/xxl-job-admin.properties
新版本:/xxl-job/xxl-job-admin/src/main/resources/application.properties
② 部署發(fā)布到服務(wù)器
調(diào)度中心訪問(wèn)地址:http://localhost:8080/xxl-job-admin
(該地址執(zhí)行器將會(huì)使用到,作為回調(diào)地址),
默認(rèn)登錄賬號(hào) “admin/123456”, 登錄后運(yùn)行界面如下圖所示。
③ 調(diào)度中心集群(可選)
調(diào)度中心支持集群部署,提升調(diào)度系統(tǒng)容災(zāi)和可用性。調(diào)度中心集群部署時(shí),幾點(diǎn)要求和建議:
DB配置保持一致;登陸賬號(hào)配置保持一致;
集群機(jī)器時(shí)鐘保持一致(單機(jī)集群忽視);
建議:推薦通過(guò)nginx為調(diào)度中心集群做負(fù)載均衡,分配域名。調(diào)度中心訪問(wèn)、執(zhí)行器回調(diào)配置、調(diào)用
API服務(wù)等操作均通過(guò)該域名進(jìn)行
4、配置部署“執(zhí)行器項(xiàng)目”
“執(zhí)行器”項(xiàng)目:xxl-job-executor-sample-spring (提供多種版本執(zhí)行器供選擇,現(xiàn)以Spring版本為例,
可直接使用,也可以參考其并將現(xiàn)有項(xiàng)目改造成執(zhí)行器)
作用:負(fù)責(zé)接收“調(diào)度中心”的調(diào)度并執(zhí)行;可直接部署執(zhí)行器,也可以將執(zhí)行器集成到現(xiàn)有業(yè)務(wù)項(xiàng)目中。
步驟一:maven依賴
確認(rèn)pom文件中引入了 “xxl-job-core” 的maven依賴;
步驟二:執(zhí)行器配置
執(zhí)行器配置,配置文件地址(這里配置參考官方文檔配置即可):
/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties
步驟三:執(zhí)行器組件配置
執(zhí)行器組件,配置文件地址:
/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/core/config/XxlJobConfig.java
(appname字段名稱可能不一樣,這里官方版本說(shuō)明有提到)
@Bean
public XxlJobSpringExecutor xxlJobExecutor() {
logger.info(">>>>>>>>>>> xxl-job config init.");
XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
xxlJobSpringExecutor.setAppname(appname);
xxlJobSpringExecutor.setIp(ip);
xxlJobSpringExecutor.setPort(port);
xxlJobSpringExecutor.setAccessToken(accessToken);
xxlJobSpringExecutor.setLogPath(logPath);
xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
return xxlJobSpringExecutor;
}
步驟四:部署執(zhí)行器項(xiàng)目:
如果已經(jīng)正確進(jìn)行上述配置,可將執(zhí)行器項(xiàng)目編譯打部署,系統(tǒng)提供多種執(zhí)行器Sample示例項(xiàng)目,選擇其中一個(gè)即可,各自的部署方式如下。
xxl-job-executor-sample-springboot:項(xiàng)目編譯打包成springboot類型的可執(zhí)行JAR包,命令啟動(dòng)即可;
xxl-job-executor-sample-spring:項(xiàng)目編譯打包成WAR包,并部署到tomcat中。
xxl-job-executor-sample-jfinal:同上
xxl-job-executor-sample-nutz:同上
xxl-job-executor-sample-jboot:同上
至此“執(zhí)行器”項(xiàng)目已經(jīng)部署結(jié)束。
執(zhí)行器支持集群部署,提升調(diào)度系統(tǒng)可用性,同時(shí)提升任務(wù)處理能力。
執(zhí)行器集群部署時(shí),幾點(diǎn)要求和建議:
執(zhí)行器回調(diào)地址(xxl.job.admin.addresses)需要保持一致;執(zhí)行器根據(jù)該配置進(jìn)行執(zhí)行器自動(dòng)注冊(cè)等操作。
同一個(gè)執(zhí)行器集群內(nèi)AppName(xxl.job.executor.appname)需要保持一致;調(diào)度中心根據(jù)該配置動(dòng)態(tài)發(fā)現(xiàn)不同集群的在線執(zhí)行器列表
5、開發(fā)第一個(gè)任務(wù)”hello world”
前提:請(qǐng)確認(rèn)“調(diào)度中心”和“執(zhí)行器”項(xiàng)目已經(jīng)成功部署并啟動(dòng);
步驟一:新建任務(wù),登錄調(diào)度中心,點(diǎn)擊下圖所示“新建任務(wù)”按鈕,新建示例任務(wù)。然后,參考下面截圖中任務(wù)的參數(shù)配置,點(diǎn)擊保存。
步驟二:“GLUE模式(Java)” 任務(wù)開發(fā):
請(qǐng)點(diǎn)擊任務(wù)右側(cè) “GLUE” 按鈕,進(jìn)入 “GLUE編輯器開發(fā)界面” ,見(jiàn)下圖。“GLUE模式(Java)” 運(yùn)行模式的任務(wù)默認(rèn)已經(jīng)初始化了示例任務(wù)代碼,
即打印Hello World。 ( “GLUE模式(Java)” 運(yùn)行模式的任務(wù)實(shí)際上是一段繼承自IJobHandler的Java類代碼,它在執(zhí)行器項(xiàng)目中運(yùn)行,可使用
@Resource/@Autowire注入執(zhí)行器里中的其他服務(wù)。
步驟三:觸發(fā)執(zhí)行:
請(qǐng)點(diǎn)擊任務(wù)右側(cè) “執(zhí)行” 按鈕,可手動(dòng)觸發(fā)一次任務(wù)執(zhí)行(通常情況下,通過(guò)配置Cron表達(dá)式進(jìn)行任務(wù)調(diào)度觸發(fā))。
步驟四:查看日志:
請(qǐng)點(diǎn)擊任務(wù)右側(cè) “日志” 按鈕,可前往任務(wù)日志界面查看任務(wù)日志。
在任務(wù)日志界面中,可查看該任務(wù)的歷史調(diào)度記錄以及每一次調(diào)度的任務(wù)調(diào)度信息、執(zhí)行參數(shù)和執(zhí)行信息。運(yùn)行中的任務(wù)點(diǎn)擊右側(cè)的“執(zhí)行日志”按鈕,可進(jìn)入日志控制臺(tái)查看實(shí)時(shí)執(zhí)行日志
總結(jié)
以上是生活随笔為你收集整理的xxljob默认登录_xxl-job安装部署整理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 线程安全问题_java线程安全
- 下一篇: 某个元素的距离页面的左边距_如何提高办公