首頁>技術>

專案介紹

Big Whale(巨鯨),為美柚大資料研發的大資料任務排程平臺,提供Spark、Flink等離線任務的排程(支援任務間的依賴排程)以及實時任務的監控,並具有批次積壓告警、任務異常重啟、重複應用監測、大記憶體應用監測等功能。 服務基於Spring Boot 2.0開發,部署方便,功能強大,打包後即可執行。

準備Java 1.8+Mysql 5.1.0+安裝建立資料庫:big-whale執行資料庫指令碼:big-whale.sql根據Spring Boot環境,配置相關資料庫賬號密碼,以及SMTP資訊配置:big-whale.properties配置項說明ssh.user: 擁有指令碼執行許可權的ssh使用者(平臺會使用該使用者作為統一的指令碼執行使用者)ssh.password: 擁有指令碼執行許可權的ssh使用者密碼dingding.enabled: 是否開啟釘釘告警dingding.watcher-token: 釘釘公共群機器人Tokenyarn.app-memory-threshold: Yarn應用記憶體上限,-1禁用監測yarn.app-white-list: 白名單列表(列表中的應用申請的記憶體超過上限,不會進行告警)修改:$FLINK_HOME/bin/flink(flink提交任務時,只能讀取本地jar包,故需要在執行flink提交命令時從hdfs上下載jar包並替換指令碼的jar包路徑引數,參考:flink)服務打包:mvn clean package3.啟動檢查埠17070是否被佔用,被佔用的話,關閉佔用的程序或修改專案埠號配置重新打包拷貝target下的big-whale.jar,執行命令:java -jar big-whale.jar初始配置

開啟:http://localhost:17070

同一叢集下不同版本的Spark或Flink提交任務的命令可能有所不同,如Spark:1.6.0版本的提交命令為spark-submit,2.1.0版本的提交命令為spark2-submit

使用新建指令碼指令碼管理->新增型別”有shell、spark實時、spark離線、flink實時、flink離線,示例為:spark實時因為當前使用者為超級管理員,可為所有使用者建立指令碼,故需要選擇“使用者”“程式包”應上傳與指令碼型別相應的Spark流式任務打成的jar包“資源選項”可不填程式碼有兩種編輯模式,“視覺化檢視”和“程式碼檢視”,可互相切換

執行成功後在詳情中便可檢視到Yarn應用詳情的連線(提交Yarn任務的日誌級別請設定為:INFO)

執行超時或失敗會有相應的郵件告警

實時監控對於型別為“spark實時”和“flink實時”的指令碼,可以通過新增此功能來實時監控任務的執行情況

任務執行異常時可進行相應的處理,如批次積壓告警、任務失敗退出重啟等

離線排程對於型別為“shell”、“spark離線”和“flink離線”的指令碼,可通過新增此功能實現DAG任務排程(v1.1開始支援,需要從v1.0升級的,請查閱SchedulingFieldGenerateForV1_1Test.java)

  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 原始碼學習:關於原始碼學習的一些心得