Azkaban的架構(三)


 

Azkaban是什么?(一)

Azkaban的功能特點(二)

  不多說,直接上干貨!

http://www.cnblogs.com/zlslch/category/938837.html

 

 

Azkaban的架構

      Azkaban是一種類似於Oozie的工作流控制引擎,可以用來解決多個Hadoop(或Spark等)離線計算任務之間的依賴關系問題。

也可以用其代替crontab來對周期性任務進行調度,並且更為直觀,可靠,同時提供了美觀的可視化管理界面。

    Azkaban由三部分構成:

     1、Relational Database(Mysql)

        azkaban將大多數狀態信息都存於MySQL中,Azkaban Web Server 和 Azkaban Executor Server也需要訪問DB。

    2、Azkaban Web Server

        提供了Web UI,是azkaban的主要管理者,包括 project 的管理,認證,調度,對工作流執行過程的監控等。

    3、Azkaban Executor Server

        調度工作流和任務,紀錄工作流活任務的日志,之所以將AzkabanWebServer和AzkabanExecutorServer分開,主要是因為在某個任務流失敗后,可以更方便的將重新執行。而且也更有利於Azkaban系統的升級

 

  MySQL實例:Azkaban使用MySQL來存儲項目和執行。

  Azkaban Web服務器:Azkaban使用Jetty作為Web服務器,用作控制器以及提供Web界面

  Azkaban執行服務器:Azkaban執行服務器執行提交工作流。

 

 

 

 

Azkaban架構的三種運行模式

  1、solo server mode

    H2

    web server 和 executor server運行在一個進程里

  最簡單的模式,數據庫內置的H2數據庫,管理服務器和執行服務器都在一個進程中運行,任務量不大項目可以采用此模式。

  2、two server mode

    MySQL(主從結構)

    web server 和 executor server運行在不同的進程

  數據庫為mysql,管理服務器和執行服務器在不同進程,這種模式下,管理服務器和執行服務器互不影響

  3、multiple executor mode

    MySQL(主從結構)

    web server 和 executor server運行在不同的進程

    executor server有多個

  該模式下,執行服務器和管理服務器在不同主機上,且執行服務器可以有多個。

  注意:我這次采用第二種模式,管理服務器、執行服務器分進程,但在同一台主機上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM