數(shù)據(jù)倉庫原理與實(shí)踐 課件 第8章 任務(wù)調(diào)度_第1頁
數(shù)據(jù)倉庫原理與實(shí)踐 課件 第8章 任務(wù)調(diào)度_第2頁
數(shù)據(jù)倉庫原理與實(shí)踐 課件 第8章 任務(wù)調(diào)度_第3頁
數(shù)據(jù)倉庫原理與實(shí)踐 課件 第8章 任務(wù)調(diào)度_第4頁
數(shù)據(jù)倉庫原理與實(shí)踐 課件 第8章 任務(wù)調(diào)度_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第8章任務(wù)調(diào)度(Dolphinscheduler)

8.1任務(wù)調(diào)度概述

8.2調(diào)度框架的部署與配置

8.3任務(wù)調(diào)度應(yīng)用引例思考面對海量數(shù)據(jù)進(jìn)行數(shù)據(jù)計(jì)算,如何對成百上千的計(jì)算任務(wù)進(jìn)行調(diào)度和管理,提高計(jì)算集群的資源管理和利用效率,合理分配資源,對企業(yè)來說是一種挑戰(zhàn)。請思考:(1)具體技術(shù)場景如何,具備哪些特點(diǎn)?

(2)如何進(jìn)行技術(shù)選型?

(3)大量的計(jì)算任務(wù)如何調(diào)度、管理和監(jiān)控?Dolphinscheduler配置Dolphinscheduler部署任務(wù)調(diào)度介紹任務(wù)調(diào)度概述Dolphinscheduler調(diào)度框架調(diào)度應(yīng)用任務(wù)調(diào)度應(yīng)用任務(wù)調(diào)度調(diào)度框架的部署與配置任務(wù)調(diào)度概述8.1任務(wù)調(diào)度概述

任務(wù)調(diào)度系統(tǒng)是計(jì)算機(jī)系統(tǒng)中的一個(gè)重要組成部分,它負(fù)責(zé)在多個(gè)計(jì)算節(jié)點(diǎn)上有效地調(diào)度和執(zhí)行各種類型的任務(wù)。任務(wù)調(diào)度系統(tǒng)主要對任務(wù)的執(zhí)行進(jìn)行調(diào)度和管理,定義任務(wù)的規(guī)則和屬性,對任務(wù)的執(zhí)行順序和邏輯進(jìn)行編排,確保任務(wù)的高效執(zhí)行。隨著大數(shù)據(jù)和云計(jì)算技術(shù)的不斷發(fā)展,任務(wù)調(diào)度系統(tǒng)將面臨更多挑戰(zhàn)和機(jī)遇。未來,任務(wù)調(diào)度系統(tǒng)可能會更加智能化和自動(dòng)化,能夠更高效地利用計(jì)算資源,支持更復(fù)雜的任務(wù)依賴關(guān)系和分布式任務(wù)調(diào)度。任務(wù)調(diào)度特點(diǎn)靈活性高效性可擴(kuò)展性可視化任務(wù)調(diào)度框架

任務(wù)調(diào)度框架是軟件開發(fā)中用于管理和執(zhí)行定時(shí)任務(wù)的重要工具。它們允許開發(fā)者在指定的時(shí)間或按照特定的規(guī)則自動(dòng)執(zhí)行一系列任務(wù),從而優(yōu)化資源利用、提高工作效率。常用調(diào)度框架介紹ApacheDolphinScheduler(也常被稱為dolphinsheduler)是一個(gè)分布式易擴(kuò)展的可視化DAG(DirectedAcyclicGraph,有向無環(huán)圖)工作流任務(wù)調(diào)度開源系統(tǒng),旨在解決復(fù)雜的大數(shù)據(jù)任務(wù)依賴關(guān)系,為應(yīng)用程序提供數(shù)據(jù)和各種OPS編排中的關(guān)系。它提供了一個(gè)可視化操作任務(wù)、工作流和全生命周期數(shù)據(jù)處理過程的解決方案,幫助用戶實(shí)時(shí)監(jiān)控任務(wù)的執(zhí)行狀態(tài),并支持重試、指定節(jié)點(diǎn)恢復(fù)失敗、暫停、恢復(fù)、終止任務(wù)等操作。Quartz是OpenSymphony開源組織在Jobscheduling領(lǐng)域的一個(gè)開源項(xiàng)目,完全由Java開發(fā)。它是一個(gè)功能強(qiáng)大且成熟的任務(wù)調(diào)度框架,提供了豐富的調(diào)度功能和靈活的API。XXL-JOB是一個(gè)專注于分布式任務(wù)調(diào)度的平臺,支持多種編程語言(包括Java、Python、PHP等)和豐富的管理界面及監(jiān)控功能。Elastic-Job是一個(gè)基于Quartz的分布式任務(wù)調(diào)度解決方案,它提供了更為復(fù)雜和靈活的調(diào)度功能。任務(wù)調(diào)度框架

ApacheDolphinScheduler是一個(gè)開源的分布式大數(shù)據(jù)流程調(diào)度系統(tǒng),旨在解決復(fù)雜的數(shù)據(jù)依賴處理流程中的調(diào)度問題。DolphinScheduler提供了豐富的功能,包括跨數(shù)據(jù)中心的工作流任務(wù)調(diào)度、資源管理、任務(wù)依賴管理、任務(wù)優(yōu)先級控制、失敗任務(wù)重試/警報(bào)、Kerberos權(quán)限驗(yàn)證等。DolphinScheduler通過提供簡單易用的調(diào)度流程設(shè)計(jì)界面,以及支持豐富任務(wù)類型的能力,極大地提高了工作流任務(wù)調(diào)度的效率和可靠性,廣泛應(yīng)用于數(shù)據(jù)倉庫的構(gòu)建、數(shù)據(jù)預(yù)處理、數(shù)據(jù)分析等場景。調(diào)度框架的部署與配置8.2調(diào)度框架部署DolphinScheduler的部署過程是一個(gè)涉及多個(gè)步驟和組件配置的系統(tǒng)化流程,主要包括環(huán)境準(zhǔn)備、下載與解壓、修改配置文件、初始化數(shù)據(jù)庫、啟動(dòng)服務(wù)、驗(yàn)證部署等環(huán)節(jié)。環(huán)境準(zhǔn)備(1)硬件資源:根據(jù)集群規(guī)模和任務(wù)負(fù)載,合理配置CPU、內(nèi)存和存儲資源。(2)軟件依賴:JDK、MySQL5.x+、Zookeeper等。下載與解壓(1)下載最新版本的安裝包。(2)將安裝包解壓到指定目錄并設(shè)置系統(tǒng)環(huán)境變量。修改配置文件(1)修改配置文件(如install_config.conf、dolphinscheduler_env.sh等)。(2)參數(shù)配置:數(shù)據(jù)庫相關(guān)、資源配置相關(guān)、服務(wù)配置相關(guān)等驗(yàn)證部署(1)通過訪問DolphinScheduler的Web界面,驗(yàn)證服務(wù)是否正常運(yùn)行。(2)創(chuàng)建并運(yùn)行一個(gè)簡單的任務(wù)流,以測試系統(tǒng)的功能。啟動(dòng)服務(wù)(1)在每個(gè)節(jié)點(diǎn)上啟動(dòng)DolphinScheduler服務(wù)。(2)檢查服務(wù)啟動(dòng)日志,確保沒有錯(cuò)誤發(fā)生。初始化數(shù)據(jù)庫(1)創(chuàng)建DolphinScheduler所需的數(shù)據(jù)庫和用戶。(2)執(zhí)行DolphinScheduler提供的數(shù)據(jù)庫初始化腳本,創(chuàng)建所需的表和視圖。調(diào)度框架配置DolphinScheduler的配置參數(shù)主要涉及數(shù)據(jù)庫相關(guān)配置、資源類相關(guān)配置和服務(wù)相關(guān)配置。數(shù)據(jù)庫相關(guān)

數(shù)據(jù)庫相關(guān)的主要配置參數(shù),具體包括了數(shù)據(jù)庫類型、數(shù)據(jù)庫連接參數(shù)、用戶密碼等內(nèi)容。示例#數(shù)據(jù)庫類型dbtype="mysql"#數(shù)據(jù)庫地址和端口dbhost="node:3306"#數(shù)據(jù)庫用戶username="root"#數(shù)據(jù)庫名字dbname="dolphinscheduler"#數(shù)據(jù)庫密碼password="hkMYSQL2020"資源類相關(guān)

資源類相關(guān)的主要參數(shù)配置參數(shù),具體包括了資源存儲類型、默認(rèn)文件系統(tǒng)、資源上傳路徑等內(nèi)容。示例#郵件服務(wù)端口mailServerPort="25"#資源存儲類型resourceStorageType="HDFS"#這里以保存到本地文件系統(tǒng)為例defaultFS="hdfs:///hdfsCluster/"#資源上傳根路徑(支持HDFS和S3)resourceUploadPath="/dolphinscheduler"服務(wù)相關(guān)

服務(wù)相關(guān)的主要參數(shù)配置參數(shù),具體包括了調(diào)度節(jié)點(diǎn)列表、朱服務(wù)節(jié)點(diǎn)、工作節(jié)點(diǎn)、APIServer服務(wù)節(jié)點(diǎn)等內(nèi)容。示例#調(diào)度節(jié)點(diǎn)列表ips="node"#主服務(wù)節(jié)點(diǎn)masters="node"#工作節(jié)點(diǎn)workers="node:default"#部署alertserver服務(wù)的節(jié)點(diǎn)alertServer="node"#部署apiserver服務(wù)的節(jié)點(diǎn)apiServers="node"#高可用服務(wù)地址zkQuorum="node:2181"任務(wù)調(diào)度應(yīng)用8.3任務(wù)調(diào)度概述DolphinScheduler通過提供一套完整的任務(wù)調(diào)度、執(zhí)行、監(jiān)控及報(bào)警機(jī)制,大大簡化了復(fù)杜的數(shù)據(jù)處理操作,提高了自動(dòng)化水平和工作效率。它的圖形化設(shè)計(jì)、豐富的任務(wù)類型支持、靈活的調(diào)度策略以及高可用性設(shè)計(jì),使其成為處理大數(shù)據(jù)任務(wù)調(diào)度的優(yōu)秀選擇。DolphinScheduler的任務(wù)調(diào)度分成了兩個(gè)部分:基礎(chǔ)準(zhǔn)備(用戶創(chuàng)建、租戶創(chuàng)建、工作組創(chuàng)建、任務(wù)隊(duì)列等等)和項(xiàng)目構(gòu)建(主要是設(shè)置工作流以及使用的資源、任務(wù)類型等)。任務(wù)調(diào)度應(yīng)用DolphinScheduler的項(xiàng)目首頁包含該項(xiàng)目的任務(wù)實(shí)例狀態(tài)統(tǒng)計(jì)、工作流實(shí)例狀態(tài)統(tǒng)計(jì)、工作流定義統(tǒng)計(jì)。項(xiàng)目任務(wù)指標(biāo):任務(wù)實(shí)例狀態(tài)統(tǒng)計(jì):在指定時(shí)間范圍內(nèi),統(tǒng)計(jì)任務(wù)實(shí)例中狀態(tài)為提交成功、正在運(yùn)行、準(zhǔn)備暫停、暫停、準(zhǔn)備停止、停止、失敗、成功、需要容錯(cuò)、kill、等待線程的個(gè)數(shù)。工作流實(shí)例狀態(tài)統(tǒng)計(jì):在指定時(shí)間范圍內(nèi),統(tǒng)計(jì)工作流實(shí)例中狀態(tài)為提交成功、正在運(yùn)行、準(zhǔn)備暫停、暫停、準(zhǔn)備停止、停止、失敗、成功、需要容錯(cuò)、kill、等待線程的個(gè)數(shù)。工作流定義統(tǒng)計(jì):統(tǒng)計(jì)用戶創(chuàng)建的工作流定義及管理員授予該用戶的工作流定義。任務(wù)調(diào)度應(yīng)用DolphinScheduler框架中的任務(wù)分類主要根據(jù)任務(wù)的性質(zhì)、執(zhí)行方式和調(diào)度需求進(jìn)行劃分。另外,DolphinScheduler框架的任務(wù)分類涵蓋了多種任務(wù)類型、狀態(tài)、調(diào)度類型和部署模式,以滿足不同數(shù)據(jù)處理和調(diào)度的需求,任務(wù)分類如下所示。任務(wù)類型(TaskTypes)

根據(jù)任務(wù)執(zhí)行引擎的不同DolphinScheduler框架將任務(wù)主要分類如下,此外,DolphinScheduler還支持Hadoop、Python等其他類型的任務(wù)。Shell:執(zhí)行Shell腳本的任務(wù)。Spark:基于ApacheSpark的大數(shù)據(jù)處理任務(wù)。Flink:使用ApacheFlink進(jìn)行流處理或批處理的任務(wù)。Sql:執(zhí)行SQL查詢或更新操作的任務(wù)。MR(MapReduce):基于HadoopMapReduce的分布式計(jì)算任務(wù)任務(wù)狀態(tài)(TaskStates)

根據(jù)任務(wù)執(zhí)行情況,以下列舉了DolphinScheduler框架對于任務(wù)運(yùn)行過程中出現(xiàn)的主要狀態(tài),同時(shí)也包括了括需要容錯(cuò)、被殺死、等待線程、等待依賴節(jié)點(diǎn)完成等狀態(tài)。任務(wù)提交成功

任務(wù)正在執(zhí)行任務(wù)準(zhǔn)備暫停任務(wù)已暫停任務(wù)準(zhǔn)備停止任務(wù)已停止任務(wù)執(zhí)行失

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論