大数据平台--调度系统
調度系統是數據倉庫的重要組成部分,也是每個銀行或公司一個基礎軟件或服務,需要在全行或全公司層面進行規劃,在全行層面統一調度工具和規范,由于數據類系統調度作業較多,交易類系統批量優先級高,調度系統的整體架構如下:
調度中心
對調度批次和作業進行創建、管理、監控,它負責所有批量作業的調度和編排;
在整個作業過程中,作業之間關系分為觸發,依賴和互斥。
1、觸發
觸發關系表示一個作業完畢后,生成另一個作業的控制文件,表示該作業可以進行了,一對一關系
2、依賴
一般作業跑批時,數據來自不同的表,為了能夠保證各個表的時間的同步,需要通過依賴關系,當一個作業的依賴關系都完成了,則該作業可以進入調度隊列中
3、互斥
不同作業操作相同的表,為了保證由于鎖的原因導致作業失敗,則設計了互斥作業。
代理(agent)
在各需要調度的服務器上需要安裝一個agent,agent主要從調度中心獲得指令執行服務器上作業,并將結果返回給調度中心,調度系統需要支持多種操作系統,本大數據平臺采用的是yarn組件進行任務的分發,利用yarn的優良的資源的調度性,很好的解決了問題。
大數據平臺重點功能及批量設計
(1)防重復啟動
這個主要是控制一個作業在執行市不能再次被執行,許多設計會設置互斥文件或變量來實現,但在作業各種異常(如網絡中斷)后,也需要有機制或功能清理互斥文件和變量,以免不能重做作業。通過文件進行控制,將任務成功的控制文件放入complete文件夾中,將錯誤的任務控制文件放到error文件夾中,
(2)批量重跑
許多調度工具可以支持單個作業重跑,但是數據類系統作業關聯性較大,如果主數據區作業發現正常結束但是數據異常,修復后需要重新跑依賴該作業的中間層、集市的作業。因此在任一個作業節點可以批量重跑后續作業,避免手動單個作業按順序重跑,這個功能會對問題處理帶來很大的效率提升。比如下圖的作業流圖中,作業B1數據錯誤,批量重跑時會將后續依賴B1作業的C1、C2以及后續的D1、E1作業都進行重跑。
(3)對接預警系統和ETL系統
對接預警系統主要是指將作業異常發送的統一預警系統進行通知,對接ETL系統主要是做好加載、抽取、數據轉換作業、數據質量檢查作業的調度和日志監控,因為調度系統也是數據倉庫一個重要組成部分。大數據平臺通過后端任務定時訪問yarn的接口,通過接口的返回的數據了解任務執行情況,將錯誤的任務通過短信平臺發送到手機上。
(4)配置化導入和更新
由于ETL等作業都是可以根據作業屬性和數據庫表信息自動生成調度作業,因此為了方便開發,可以將作業批量信息導入到調度系統,批量創建修改作業,避免手工增加修改作業。
(5)監控可視化
監控可視化主要是對批量作業流能清楚看到當前哪些作業已完成,執行中,待啟動,也可以看到整個批量作業的依賴路徑,更智能的話可以通過每天的作業執行情況,自動分析出關鍵路徑。
批量作業流設計優化
(1)作業優先級設置
通過合理設置作業優先級,提前完成批量作業路徑中的關鍵作業,提高整體時效。對于為交易系統以及高時效的監管報送系統的數據批量作業,需要單獨分批次并設立高優先級,以確保不受其它作業影響。
另外作業依賴必須細化到作業級別,而不是依賴整個作業流或批次完成,即精細化管理,雖然復雜些,但能很大提高整體批處理的時效。
(2)合理設置源系統作業的抽取時間
由于源系統有些表依賴源系統的日終批處理完成,如內部總賬,而有些表不需要依賴如客戶信息、交易流水,可以在日切后分批次抽取源系統數據,將作業啟動時間提前;
(3)批量作業分析及優化
定期如每周、每月對整個數據倉庫批量作業進行匯總分析,重點關注源系統提供數據時間、作業時長超過30分鐘的作業、作業時長增加比例最高的作業等,通過分析來確定優化作業并啟動優化,一般可以通過重建表、優化SQL、重新分布表數據、增加資源等方式來優化作業,減少執行時間;
(4)關鍵批量作業監控
數據倉庫中對于交易系統的數據加工往往會影響到銀行對客戶的服務,因此對關鍵作業和節點需要進行及時處理,如源系統數據提供時間、重點表的加工作業完成時間、高時效應用的數據提供作業完成時間都需要設置預警,報警時由值班人員及時處理。
總結
以上是生活随笔為你收集整理的大数据平台--调度系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 硬盘整数分区
- 下一篇: Windows驱动开发入门