<ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>


      一、簡介

      Azkaban 主要通過界面上傳配置文件來進行任務的調度。它有兩個重要的概念:

      * Job: 你需要執(zhí)行的調度任務;
      * Flow:一個獲取多個 Job 及它們之間的依賴關系所組成的圖表叫做 Flow。
      目前 Azkaban 3.x 同時支持 Flow 1.0 和 Flow 2.0,本文主要講解 Flow 1.0 的使用,下一篇文章會講解 Flow 2.0
      的使用。

      二、基本任務調度

      2.1 新建項目

      在 Azkaban 主界面可以創(chuàng)建對應的項目:

      2.2 任務配置

      新建任務配置文件 Hello-Azkaban.job,內容如下。這里的任務很簡單,就是輸出一句 'Hello Azkaban!' :
      #command.job type=command command=echo 'Hello Azkaban!'
      2.3 打包上傳

      將 Hello-Azkaban.job 打包為 zip 壓縮文件:

      通過 Web UI 界面上傳:

      上傳成功后可以看到對應的 Flows:

      2.4 執(zhí)行任務

      點擊頁面上的 Execute Flow 執(zhí)行任務:

      2.5 執(zhí)行結果

      點擊 detail 可以查看到任務的執(zhí)行日志:

      三、多任務調度

      3.1 依賴配置

      這里假設我們有五個任務(TaskA——TaskE),D 任務需要在 A,B,C 任務執(zhí)行完成后才能執(zhí)行,而 E 任務則需要在 D
      任務執(zhí)行完成后才能執(zhí)行,這種情況下需要使用dependencies 屬性定義其依賴關系。各任務配置如下:

      Task-A.job :
      type=command command=echo 'Task A'
      Task-B.job :
      type=command command=echo 'Task B'
      Task-C.job :
      type=command command=echo 'Task C'
      Task-D.job :
      type=command command=echo 'Task D' dependencies=Task-A,Task-B,Task-C
      Task-E.job :
      type=command command=echo 'Task E' dependencies=Task-D
      3.2 壓縮上傳

      壓縮后進行上傳,這里需要注意的是一個 Project 只能接收一個壓縮包,這里我還沿用上面的 Project,默認后面的壓縮包會覆蓋前面的壓縮包:

      3.3 依賴關系

      多個任務存在依賴時,默認采用最后一個任務的文件名作為 Flow 的名稱,其依賴關系如圖:

      3.4 執(zhí)行結果

      從這個案例可以看出,F(xiàn)low1.0 無法通過一個 job 文件來完成多個任務的配置,但是 Flow 2.0 就很好的解決了這個問題。

      四、調度HDFS作業(yè)

      步驟與上面的步驟一致,這里以查看 HDFS 上的文件列表為例。命令建議采用完整路徑,配置文件如下:
      type=command command=/usr/app/hadoop-2.6.0-cdh5.15.2/bin/hadoop fs -ls /
      執(zhí)行結果:

      五、調度MR作業(yè)

      MR 作業(yè)配置:
      type=command command=/usr/app/hadoop-2.6.0-cdh5.15.2/bin/hadoop jar
      /usr/app/hadoop-2.6.0-cdh5.15.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.15.2.jar
      pi 3 3
      執(zhí)行結果:

      六、調度Hive作業(yè)

      作業(yè)配置:
      type=command command=/usr/app/hive-1.1.0-cdh5.15.2/bin/hive -f 'test.sql'
      其中 test.sql 內容如下,創(chuàng)建一張雇員表,然后查看其結構:
      CREATE DATABASE IF NOT EXISTS hive; use hive; drop table if exists emp; CREATE
      TABLE emp( empno int, ename string, job string, mgr int, hiredate string, sal
      double, comm double, deptno int ) ROW FORMAT DELIMITED FIELDS TERMINATED BY
      '\t'; -- 查看 emp 表的信息 desc emp;
      打包的時候將 job 文件與 sql 文件一并進行打包:

      執(zhí)行結果如下:

      七、在線修改作業(yè)配置

      在測試時,我們可能需要頻繁修改配置,如果每次修改都要重新打包上傳,這會比較麻煩。所以 Azkaban 支持配置的在線修改,點擊需要修改的
      Flow,就可以進入詳情頁面:

      在詳情頁面點擊 Eidt 按鈕可以進入編輯頁面:

      在編輯頁面可以新增配置或者修改配置:

      附:可能出現(xiàn)的問題

      如果出現(xiàn)以下異常,多半是因為執(zhí)行主機內存不足,Azkaban 要求執(zhí)行主機的可用內存必須大于 3G 才能執(zhí)行任務:
      Cannot request memory (Xms 0 kb, Xmx 0 kb) from system for job
      如果你的執(zhí)行主機沒辦法增大內存,那么可以通過修改 plugins/jobtypes/ 目錄下的 commonprivate.properties
      文件來關閉內存檢查,配置如下:
      memCheck.enabled=false
      更多大數(shù)據(jù)系列文章可以參見 GitHub 開源項目: 大數(shù)據(jù)入門指南
      <https://github.com/heibaiying/BigData-Notes>

      友情鏈接
      ioDraw流程圖
      API參考文檔
      OK工具箱
      云服務器優(yōu)惠
      阿里云優(yōu)惠券
      騰訊云優(yōu)惠券
      京東云優(yōu)惠券
      站點信息
      問題反饋
      郵箱:[email protected]
      QQ群:637538335
      關注微信

        <ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>
          日本精品 码喷水在线看 | 在线国产专区 | 女人19毛片一级毛片 | 羽希月被黑人吃奶DsD585 | 97久久久久| 亚洲free性xxxx护士白浆 | 豆花无码一区二区三区 | 亚洲图片视频在线 | 天天操天天舔天天日 | 免费 无码 国产成年白嫩精品 |