日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

azkaban安装编译3.86 教程

發布時間:2024/9/18 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 azkaban安装编译3.86 教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Azkaban is a batch workflow job scheduler created at LinkedIn to run Hadoop jobs. Azkaban resolves the ordering through job dependencies and provides an easy to use web user interface to maintain and track your workflows.

特點

  • 兼容任何版本的hadoop。(Oozie依賴于hadoop)
  • 有易于使用的web界面
  • 簡單的工作流上傳
  • 方便設置任務之間的關系
  • 調度工作流
  • 模塊化和可插拔的插件機制
  • 認證/授權(權限的工作)。任務提交上去之后,并不是所有人都能查看或修改。
  • 能夠殺死并重啟工作流
  • 有關失敗和成功的電子郵件提醒
  • 三大組件

  • azkaban webServer。是整個azkaban工作流系統的主要管理者,包括用戶登錄認證、負責project管理、定時執行工作流、跟蹤工作流執行進度等一系列任務。
  • azkaban executor server。負責具體的工作流的提交和執行,通過mysql來協調任務的執行。
  • mysql:存儲大部分執行流狀態,azkaban WebServer和executorServer都需要訪問mysql
  • 安裝配置

  • 下載azkaban:https://github.com/azkaban/azkaban/releases/tag/3.86.0下載azkaban-3.86.0.tar.gz
  • 將文件解壓
    執行命令:./gradlew build installDist -x test。如果無法下載:可以訪問 http://services.gradle.org/distributions/下載對應的包,把zip壓縮包拷貝進入~/.gradle/wrapper/dists/gradle-4.6-all/bcst21l2brirad8k2ben1letg ,然后執行gradlew clean即可。
  • 這一個過程中會下載很多依賴包。文末有gradle依賴,以及編譯好的azkaban 3.86版本。直接解壓就可以使用
  • Start the solo server

    修改azkaban-3.86.0/azkaban-solo-server/build/install/azkaban-solo-server/conf/azkaban.properties文件的時區:
    default.timezone.id=Asia/Shanghai
    執行

    # 一定要在azkaban更目錄運行,它的配置文件默認是相對路徑 cd azkaban-solo-server/build/install/azkaban-solo-server bin/start-solo.sh

    默認端口是8081,可以在azkaban.properties中進行修改

    用戶名和密碼都是azkaban。

    創建簡單job任務


    創建format.job

    type=command # 必須使用絕對路徑,指定腳本位置 command=sh /home/iie4bu/shell/azkaban/job/format.sh

    同時創建format.sh:

    #!/bin/bashecho "format job start...."head /home/iie4bu/data/sales.csv

    將format.job進行壓縮:zip -r format.zip format.job
    然后進行上傳:

    執行job

    點擊前面的序號3,進入job,查看joblist

    查看log:

    可以看到腳本的輸出內容。

    如何在job中指定shell的相對路徑

    新建clean.sh:

    #!/bin/bash date >> /home/iie4bu/date.txt

    新建clean.job

    type=command # 相對路徑 command=sh clean.sh

    將這兩個文件壓縮到一起:

    將clean.zip文件上傳至azkaban運行就可以了。

    處理復雜的shell工作流程


    first.job內容:

    type=command command=echo 'first'

    second.job內容:

    type=command command=echo 'second' dependencies=first

    third.job內容:

    type=command command=echo 'third' dependencies=first

    fourth.job內容:

    type=command command=echo 'fourth' dependencies=second,third

    將這四個job壓縮成一個zip包:

    將jobs.zip上傳到azkaban:

    執行這個工作流程:

    處理java Job

    新建一個Extract.java:

    public class Extract {public static void main(String[] args) throws FileNotFoundException {// 往文件里寫數據} }

    將這個文件進行package。生成mockdata-1.0-SNAPSHOT-jar-with-dependencies.jar
    新建java.job:

    type=javaprocess Xms=1024M Xmx=2048M java.class=ETL.Extract classpath=./mockdata-1.0-SNAPSHOT-jar-with-dependencies.jar

    將這兩個文件壓縮成java.zip:

    上傳至azkaban,然后執行即可。

    Java process jobs 是一個方便啟動java程序的容器。它等價于從命令行執行一個class的main方法。下面介紹在javaprocess jobs中的可用屬性:

    PropertyRequired?MeaningExample
    java.classrequired包含main方法的classcom.org.baidu
    classpath可選一個用逗號隔開的JAR文件的列表并且目錄要被添加到classpath下。如果沒有設置,它將會把working目錄下的所有JAR文件都添加到classpath下面common-io.jar,hello.jar
    Xms可選啟動JVM時初始化內存池大小。默認64M64M
    Xmx可選內存池最大值。默認為256M1024M
    main.args可選傳入到java main方法中的以逗號分隔的參數列表arg1,arg2
    jvm.args可選設置JVM的參數。整個字符串被完整傳入作為VM的參數-Dmyprop=test -Dhello=world
    working.dir可選從command jobs繼承/home/job
    env.property可選從command jobs繼承env.MY_ENV_VARIABLE=testVariable

    gradle和azkaban編譯結果

    鏈接:https://pan.baidu.com/s/1MgJTkIjxGnWf779iyPQS2g
    提取碼:n7fp

    總結

    以上是生活随笔為你收集整理的azkaban安装编译3.86 教程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。