PowerJob(任務調度計算框架)

文章頻道 軟件下載 安卓下載 蘋果下載

當前位置:首頁軟件下載編程開發 → PowerJob(任務調度計算框架) v3.4.3官方版
PowerJob(任務調度計算框架)

PowerJob(任務調度計算框架)v3.4.3官方版

PowerJob(任務調度計算框架)最新版下載評分:4.0
下載地址
  • 軟件介紹
  • 軟件截圖
  • 猜你喜歡
  • 同類推薦
  • 相關文章

PowerJob是新一代分布式任務調度與計算框架,支持CRON、API、固定頻率、固定延遲等調度策略,提供工作流來編排任務解決依賴關係,使用簡單,功能強大,文檔齊全。

【軟件介紹】

PowerJob是一款任務調度框架設計源碼,可幫助變成人員快速設計出任務調度的框架,按照自己的設定自由更改後,就能完美開發出需要的任務調度軟件。對於變成人員來說使用起來非常簡單,直接上手就能用,而且定製完後任務調度功能,完全能夠滿足日常工作使用的需求。

【運用場景】

  有定時執行需求的業務場景:如每天淩晨全量同步數據、生成業務報表等。

  有需要全部機器一同執行的業務場景:如使用廣播執行模式清理集群日誌。

  有需要分布式處理的業務場景:比如需要更新一大批數據,單機執行耗時非常長,可以使用Map/MapReduce處理器完成任務的分發,調動整個集群加速計算。

  有需要延遲執行某些任務的業務場景:比如訂單過期處理等。

【軟件特色】

  使用簡單:提供前端Web界麵,允許開發者可視化地完成調度任務的管理(增、刪、改、查)、任務運行狀態監控和運行日誌查看等功能。

  定時策略完善:支持CRON表達式、固定頻率、固定延遲和API四種定時調度策略。

  執行模式豐富:支持單機、廣播、Map、MapReduce四種執行模式,其中Map/MapReduce處理器能使開發者寥寥數行代碼便獲得集群分布式計算的能力。

  DAG工作流支持:支持在線配置任務依賴關係,可視化得對任務進行編排,同時還支持上下遊任務間的數據傳遞

  執行器支持廣泛:支持Spring Bean、內置/外置Java類、Shell、Python等處理器,應用範圍廣。

  運維便捷:支持在線日誌功能,執行器產生的日誌可以在前端控製台頁麵實時顯示,降低debug成本,極大地提高開發效率。

  依賴精簡:最小僅依賴關係型數據庫(MySQL/Oracle/MS SQLServer...),擴展依賴為MongoDB(用於存儲龐大的在線日誌)。

  高可用&高性能:調度服務器經過精心設計,一改其他調度框架基於數據庫鎖的策略,實現了無鎖化調度。部署多個調度服務器可以同時實現高可用和性能的提升(支持無限的水平擴展)。

  故障轉移與恢複:任務執行失敗後,可根據配置的重試策略完成重試,隻要執行器集群有足夠的計算節點,任務就能順利完成。

【安裝教程】

STEP1: 初始化項目

導入 IDE,源碼結構如下,我們需要啟動調度服務器(powerjob-server),同時在samples工程中編寫自己的處理器代碼

STEP2: 啟動調度服務器

創建數據庫(僅需要創建數據庫):找到你的DB,運行SQLCREATE DATABASE IF NOT EXISTS `powerjob-daily` DEFAULT CHARSET utf8mb4,搞定~

修改配置文件,配置文件的說明官方文檔寫的非常詳細,此處不再贅述。需要修改的地方為數據庫配置spring.datasource.core.jdbc-url、spring.datasource.core.username和spring.datasource.core.password,當然,有mongoDB的同學也可以修改spring.data.mongodb.uri以獲取完全版體驗。

oms.env=DAILY

logging.config=classpath:logback-dev.xml

####### 外部數據庫配置(需要用戶更改為自己的數據庫配置) #######

spring.datasource.core.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.core.jdbc-url=jdbc:mysql://localhost:3306/powerjob-daily?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai

spring.datasource.core.username=root

spring.datasource.core.password=No1Bug2Please3!

spring.datasource.core.hikari.maximum-pool-size=20

spring.datasource.core.hikari.minimum-idle=5

####### mongoDB配置,非核心依賴,通過配置 oms.mongodb.enable=false 來關閉 #######

oms.mongodb.enable=true

spring.data.mongodb.uri=mongodb://localhost:27017/powerjob-daily

####### 郵件配置(不需要郵件報警可以刪除以下配置來避免報錯) #######

spring.mail.host=smtp.163.com

spring.mail.username=zqq@163.com

spring.mail.password=GOFZPNARMVKCGONV

spring.mail.properties.mail.smtp.auth=true

spring.mail.properties.mail.smtp.starttls.enable=true

spring.mail.properties.mail.smtp.starttls.required=true

####### 資源清理配置 #######

oms.instanceinfo.retention=1

oms.container.retention.local=1

oms.container.retention.remote=-1

####### 緩存配置 #######

oms.instance.metadata.cache.size=1024

完成配置文件的修改後,可以直接通過啟動類com.github.kfcfans.powerjob.server.OhMyApplication啟動調度服務器,觀察啟動日誌,查看是否啟動成功~啟動成功後,訪問 http://127.0.0.1:7700/ ,如果能順利出現Web界麵,則說明調度服務器啟動成功!

注冊應用:點擊主頁應用注冊按鈕,填入powerjob-agent-test和控製台密碼(用於進入控製台),注冊示例應用(當然你也可以注冊其他的appName,隻是別忘記在示例程序中同步修改~)

STEP3: 編寫示例代碼

進入示例工程(powerjob-worker-samples),修改配置文件連接powerjob-server並編寫自己的處理器代碼。

修改 powerjob-worker-samples 的 application.properties,將 powerjob.app-name 改為剛剛在控製台注冊的名稱。

server.port=8081

spring.jpa.open-in-view=false

########### powerjob-worker 配置 ###########

# akka 工作端口,可選,默認 27777

powerjob.worker.akka-port=27777

# 接入應用名稱,用於分組隔離,推薦填寫 本 Java 項目名稱

powerjob.worker.app-name=powerjob-agent-test

# 調度服務器地址,IP:Port 或 域名,多值逗號分隔

powerjob.worker.server-address=127.0.0.1:7700,127.0.0.1:7701

# 持久化方式,可選,默認 disk

powerjob.worker.store-strategy=disk

編寫自己的處理器:隨便找個地方新建類,繼承你想要使用的處理器(各個處理器的介紹可見官方文檔,文檔非常詳細),這裏為了簡單演示,選擇使用單機處理器BasicProcessor,以下是代碼示例。

@Slf4j

@Component

public class StandaloneProcessorDemo implements BasicProcessor {

@Override

public ProcessResult process(TaskContext context) throws Exception {

OmsLogger omsLogger = context.getOmsLogger();

omsLogger.info("StandaloneProcessorDemo start process,context is {}.", context);

System.out.println("jobParams is " + context.getJobParams());

return new ProcessResult(true, "process successfully~");

}

}

啟動示例程序,即直接運行主類com.github.kfcfans.powerjob.samples.SampleApplication,觀察控製台輸出信息,判斷是否啟動成功。

STEP4: 任務的配置與運行

調度服務器與示例工程都啟動完畢後,再次前往Web頁麵( http://127.0.0.1:7700/ ),進行任務的配置與運行。

在首頁輸入框輸入配置的應用名稱,成功操作後會正式進入前端管理界麵。

點擊任務管理 -> 新建任務(右上角),開始創建任務。

任務名稱:名稱

任務描述:描述

任務參數:任務處理時能夠獲取到的參數(即各個Processor的process方法入參TaskContext對象的jobParams屬性)(進行一次處理器開發就能理解了)

定時信息:該任務的觸發方式,由下拉框和輸入框組成

API -> 不需要填寫任何參數,表明該任務由OpenAPI觸發

CRON -> 填寫 CRON 表達式(在線生成網站)

固定頻率 -> 填寫整數,單位毫秒

固定延遲 -> 填寫整數,單位毫秒

工作流 -> 不需要填寫任何參數,表明該任務由工作流(workflow)觸發

執行配置:由執行類型(單機、廣播和MapReduce)、處理器類型和處理器參數組成,後兩項相互關聯。

內置Java處理器 -> 填寫該處理器的全限定類名(eg, com.github.kfcfans.oms.processors.demo.MapReduceProcessorDemo)

Java容器 -> 填寫容器ID#處理器全限定類名(eg,18#com.github.kfcfans.oms.container.DemoProcessor)

SHELL -> 填寫需要處理的腳本(直接複製文件內容)或腳本下載鏈接(http://xxx)

PYTHON -> 填寫完整的python腳本或下載鏈接(http://xxx)

運行配置

最大實例數:該任務同時執行的數量

單機線程並發數:該實例執行過程中每個Worker使用的線程數量(MapReduce任務生效,其餘無論填什麼,都隻會使用必要的線程數...)

運行時間限製:限定任務的最大運行時間,超時則視為失敗,單位毫秒,0代表不限製超時時間(不建議不限製超時時間)。

重試配置:

Instance重試次數:實例級別,失敗了整個任務實例重試,會更換TaskTracker(本次任務實例的Master節點),代價較大,大型Map/MapReduce慎用。

Task重試次數:Task級別,每個子Task失敗後單獨重試,會更換ProcessorTracker(本次任務實際執行的Worker節點),代價較小,推薦使用。

注:請注意同時配置任務重試次數和子任務重試次數之後的重試放大,比如對於單機任務來說,假如任務重試次數和子任務重試次數都配置了1且都執行失敗,實際執行次數會變成4次!推薦任務實例重試配置為0,子任務重試次數根據實際情況配置。

機器配置:用來標明允許執行任務的機器狀態,避開那些搖搖欲墜的機器,0代表無任何限製。

最低CPU核心數:填寫浮點數,CPU可用核心數小於該值的Worker將不會執行該任務。

最低內存(GB):填寫浮點數,可用內存小於該值的Worker將不會執行該任務。

最低磁盤(GB):填寫浮點數,可用磁盤空間小於該值的Worker將不會執行該任務。

集群配置

執行機器地址:指定集群中的某幾台機器執行任務(debug的好幫手),多值英文逗號分割,如192.168.1.1:27777,192.168.1.2:27777

最大執行機器數量:限定調動執行的機器數量

報警配置:選擇任務執行失敗後報警通知的對象,需要事先錄入。

完成任務創建後,即可在控製台看到剛才創建的任務,如果覺得等待調度太過於漫長,可以直接點擊運行按鈕,立即運行本任務。

前往任務示例邊欄,查看任務的運行狀態和在線日誌

展開內容

軟件截圖

  • PowerJob(任務調度計算框架)v3.4.3官方版

下載地址

  • PC版

同類推薦

相關文章

感謝速聯科技、八度網絡、九九數據、億恩科技、群英網絡讚助部分帶寬!

關於本站 | 聯係方式 | 版權聲明 | 下載幫助(?) | 網站地圖

Copyright 2002-2020 95262.com 【數碼資源網】 版權所有 粵ICP備2020128507號-1

本站所有軟件來自互聯網,版權歸原著所有。如有侵權,敬請來信告知 ,我們將及時撤銷。