精华内容
下载资源
问答
  • azkaban调度之flow文件

    2020-04-29 17:21:20
    拒绝抄袭,从我做起,可以借鉴,必有说明 ...新建一个.flow文件我是condition.flow nodes: - name: JobA type: command config: command: bash /home/devuser/chenchi/azkaban.sh - name: JobB type:...

    拒绝抄袭,从我做起,可以借鉴,必有说明

    今天学习azkaban的condition判断

    新建一个.flow文件我是condition.flow

    nodes:
     - name: JobA
       type: command
       config:
         command: bash /home/devuser/chenchi/azkaban.sh
    
     - name: JobB
       type: command
       dependsOn:
         - JobA
       config: 
         command: echo "This is JobB."
         param1: "AAA"
       condition: ${JobA:param1} == "AAA"
    
     - name: JobC
       type: command
       dependsOn:
         - JobA
       config:
         command: echo "This is JobC."
       condition: ${JobA:param1} == "BBB"
    
     - name: JobD
       type: command
       dependsOn:
         - JobB
         - JobC
       config:
         command: echo "This is JobD."
       condition: one_success

    在建一个.project文件我是condition.project文件,备注我是azkaban3.81版本

    azkaban-flow-version: 2.0
    

    服务器上

    [devuser@node04 ~/chenchi]$ cat azkaban.sh
    echo '{"param1":"AAA"}' > $JOB_OUTPUT_PROP_FILE
    [devuser@node04 ~/chenchi]$

    这里我说明下 $JOB_OUTPUT_PROP_FILE 这个不要改成xx.txt这种。。。。

    condition.flow 里的jobB和C的condition里获取的${jobA:param1}就是这里的json值

    把两个文件达成zip包

    上传到azkaban后执行

    还有一种说是嵌入式https://my.oschina.net/remainsu/blog/3072763

    1、新建一个xx.flow和一个xx.project

    2、打包zip上传

    3、exec

    config:
      param.test: param_test
      
    nodes:
      - name: jobC
        type: command
        config:
          command: echo ${param.test} "This is jobC, embedded on embedded_flow."
        dependsOn:
          - embedded_flow
    
      - name: embedded_flow
        type: flow
        config:
          param.flow.test: param_flow_test
        nodes:
          - name: jobB
            type: command
            config:
              command: echo "This is jobB."
            dependsOn:
              - jobA
    
          - name: jobA
            type: command
            config:
              command: echo ${param.flow.test} "This is jobA."

     

    展开全文
  • azkaban调度

    2018-08-28 01:01:00
    azkaban调度 1、概述 azkaban是一套调度系统,常用大数据作业调度。azkaban包括web和executor两套程序,web主要完成展示和交互,executor上完成调度和作业提交执行。 2、安装 略 3、启动 3.1 启动web程序 $>/soft...

    azkaban调度

    1、概述

    azkaban是一套调度系统,常用大数据作业调度。azkaban包括web和executor两套程序,web主要完成展示和交互,executor上完成调度和作业提交执行。

    2、安装

    3、启动

    3.1 启动web程序

    $>/soft/azkaban/web/bin/azkaban-web-start.sh

    3.2 执行executor程序

    $>/soft/azkaban-exec/bin/azkaban-executor-start.sh

    4、登录webui

    http://s101:8081

    5、登录界面

    azkaban-001

    azkaban-002

    6、创建工程

    6.1 点击创建项目按钮

    azkaban-003

    6.2 输入项目信息

    azkaban-004

    6.3 查看创建项目

    azkaban-005

    7、创建job文件和依赖关系

    7.1 编写job文件

    job文件以job作为扩展名,job中涉及的sh脚本需要保证在executor节点上存在,实际执行时都是由executor在本机上执行特定的shell脚本。

    7.1.1 加载数据到原生表job

    [1_load_data_to_hive_raw_logs.job],该job是第一个job,没有依赖。

    type=command
    command=sh /home/centos/umeng/load_data_to_hive_raw_logs.sh

    ##### 7.1.2 叉分startuplogs并转储job

    [2_1_fork_startuplogs.job]

    type=command
    command=sh /home/centos/umeng/fork_logs.sh fork_startuplogs.sql forkstartuplogs
    dependencies=1_load_data_to_hive_raw_logs
    7.1.3 叉分eventlogs并转储job

    [2_2_fork_eventlogs.job]

    type=command
    command=sh /home/centos/umeng/fork_logs.sh fork_eventlogs.sql forkeventlogs
    dependencies=1_load_data_to_hive_raw_logs
    7.1.4 叉分errorlogs并转储job

    [2_3_fork_errorlogs.job]

    type=command
    command=sh /home/centos/umeng/fork_logs.sh fork_errorlogs.sql forkerrorlogs
    dependencies=1_load_data_to_hive_raw_logs
    7.1.5 叉分usagelogs并转储

    [2_4_fork_usagelogs.job]

    type=command
    command=sh /home/centos/umeng/fork_logs.sh fork_usagelogs.sql forkusagelogs
    dependencies=1_load_data_to_hive_raw_logs
    7.1.6 job 叉分pagelogs并转储job

    [2_5_fork_pagelogs.job]

    type=command
    command=sh /home/centos/umeng/fork_logs.sh fork_pagelogs.sql forkpagelogs
    dependencies=1_load_data_to_hive_raw_logs
    7.1.7 编写收尾job

    job之间可以指定依赖,多个依赖使用,分割。

    [3_end.job]

    type=noop
    dependencies=2_1_fork_startuplogs,2_2_fork_eventlogs,2_3_fork_errorlogs,2_4_fork_usagelogs,2_5_fork_pagelogs
    7.1.8 总结

    以上共生成7个job文件,如下图所示:

    azkaban-006

    8、将所有job打成一个zip文件

    8.1 安装zip命令

    centos 7默认没有集成zip命令,需要单独安装。

    #安装zip命令
    $>sudo yum install -y zip

    8.2 打包job文件到一个zip中

    $>cd /home/centos/umeng/job
    #将当前所有文件打成1.zip文件
    $>zip 1.zip *

    8.3 1.zip文件内容如下

    azkaban-009

    9、上传zip文件

    9.1 点击上传按钮

    azkaban-007

    9.2 选中zip文件

    azkaban-008

    9.3 查看上传结果

    azkaban-010

    9.4 展开job,查看依赖关系

    azkaban-011

    10、job的执行与调度

    job在上传之后,可以单独执行某个job,带依赖关系也可以不带依赖关系。执行通常用来测试,测试通过后就可以进行调度作业。

    10.1 job执行

    10.1.1 展开job的依赖列表

    azkaban-012

    azkaban-013

    10.1.2 执行无依赖job

    azkaban-014

    azkaban-015

    10.1.3 执行有依赖job

    azkaban-016

    azkaban-017

    10.1.4 执行无依赖job

    转载于:https://www.cnblogs.com/xupccc/p/9545703.html

    展开全文
  • Azkaban 调度

    2021-07-05 16:02:57
    1.azkan 的Work Flow 调度 1.新建一个项目 2. 编写多个脚本执行 flow 脚本参数解释: 1)name:作业名称 2)type:作业类型(详细类型配置见第3章) 3)config:和作业类型相关的配置,也以KV值形式 4)dependsOn:作业...

    1.azkan 的Work Flow 调度

    1.新建一个项目

    在这里插入图片描述

    2. 编写多个脚本执行

    flow 脚本参数解释:

    注意:脚本不能含有多余的空格和tab (\t)键

    1)name:作业名称
    2)type:作业类型(详细类型配置见第3章)
    3)config:和作业类型相关的配置,也以KV值形式
    4)dependsOn:作业依赖名称
    

    实例:bigdata.flow 文件内容

    nodes:
      - name: mysql_bidding_to_hdfs
        type: command
        config:
         command: /opt/shell/mysql_bidding_to_hdfs.sh all ${dt}
        
      - name: mysql_request_to_hdfs
        type: command
        config:
         command: /opt/shell/mysql_request_to_hdfs.sh all ${dt}
         
      - name: mysql_resource_to_hdfs
        type: command
        config: 
         command: /opt/shell/mysql_resource_to_hdfs.sh all ${dt}
         
      - name: mysql_shipment_to_hdfs
        type: command
        config: 
         command: /opt/shell/mysql_shipment_to_hdfs.sh all ${dt}
        
      - name: mysql_system_to_hdfs
        type: command
        config: 
         command: /opt/shell/mysql_system_to_hdfs.sh all ${dt}
        
      - name: mysql_trade_to_hdfs
        type: command
        config:
         command: /opt/shell/mysql_trade_to_hdfs.sh all ${dt}
        
      - name: hdfs_to_bidding_ods_db
        type: command
        dependsOn:
         - mysql_bidding_to_hdfs
        config:
         command: /opt/shell/hdfs_to_bidding_ods_db.sh all ${dt}
        
      - name: hdfs_to_request_ods_db
        type: command
        dependsOn: 
         - mysql_request_to_hdfs
        config:
         command: /opt/shell/hdfs_to_request_ods_db.sh all ${dt}
      - name: hdfs_to_shipment_ods_db
        type: command
        dependsOn: 
         - mysql_shipment_to_hdfs
        config:
         command: /opt/shell/hdfs_to_shipment_ods_db.sh all ${dt}
      - name: hdfs_to_source_ods_db
        type: command
        dependsOn: 
         - mysql_resource_to_hdfs
        config:
         command: /opt/shell/hdfs_to_source_ods_db.sh  all ${dt}
      - name: hdfs_to_system_ods_db
        type: command
        dependsOn: 
         - mysql_system_to_hdfs
        config:
         command: /opt/shell/hdfs_to_system_ods_db.sh all ${dt}
      - name: hdfs_to_trade_ods_db
        type: command
        dependsOn: 
         - mysql_trade_to_hdfs
        config:
         command: /opt/shell/hdfs_to_trade_ods_db.sh all ${dt}
     
      - name: dwd_to_dws
        type: command
        dependsOn: 
         - hdfs_to_bidding_ods_db
         - hdfs_to_request_ods_db
         - hdfs_to_shipment_ods_db
         - hdfs_to_source_ods_db
         - hdfs_to_system_ods_db
         - hdfs_to_trade_ods_db
        config:
         command: /opt/shell/dwd_to_dws.sh ${dt}
      - name: dws_to_ads
        type: command
        dependsOn: 
         - dwd_to_dws
        config:
         command: /opt/shell/dws_to_ads.sh ${dt}
    

    3.azkaban.project 编写文件二:

    azkaban-flow-version: 2.0
    

    4. 两个文件打包为zip 格式,并且上传

    5.有向五环图

    在这里插入图片描述

    6.执行:

    在这里插入图片描述

    展开全文
  • Azkaban调度器 概念

    2019-12-09 21:45:04
    Azkaban调度器 概念 Azkaban是由linkedin(领英)公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。 Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于...

    Azkaban调度器 概念

    Azkaban是由linkedin(领英)公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。
    Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
    在这里插入图片描述
    Azkaban特点:

    • 功能清晰,简单易用的Web UI界面
    • 提供job配置文件快速建立任务和任务之间的依赖关系
    • 提供模块化和可插拔的插件机制,原生支持command、Java、Hive、Pig、Hadoop
    • 基于Java开发,代码结构清晰,易于二次开发

    Azkaban原理架构

    在这里插入图片描述
    mysql服务器: 存储元数据,如项目名称、项目描述、项目权限、任务状态、SLA规则等

    AzkabanWebServer:对外提供web服务,使用户可以通过web页面管理。职责包括项目管理、权限授权、任务调度、监控executor。

    AzkabanExecutorServer:负责具体的工作流的提交、执行。

    Azkaban三种部署模式

    solo server mode

    该模式中webServer和executorServer运行在同一个进程中,进程名是AzkabanSingleServer。使用自带的H2数据库。这种模式包含Azkaban的所有特性,但一般用来学习和测试。

    two-server mode

    该模式使用MySQL数据库, Web Server和Executor Server运行在不同的进程中。

    multiple-executor mode

    该模式使用MySQL数据库, Web Server和Executor Server运行在不同的机器中。且有多个Executor Server。该模式适用于大规模应用。

    展开全文
  • 工作流调度工具之间对比Azkaban调度器1.Azkaban介绍Azkaban功能特点:2.Azkaban原理架构3.Azkaban三种部署模式4.Azkaban源码编译编译环境下载源码解压编译源码编译后安装包路径 工作流 1.工作流产生背景 工作流...
  • Azkaban调度

    千次阅读 2019-12-07 16:51:13
    Azkaban使用job配置文件建立任务之间的依赖关系 ,并提供一个易于使用的web用户界面维护和跟踪你的工作流。 Azkaban功能特点: 提供功能清晰,简单易用的Web UI界面 提供job配置文件快速建立任务和任务...
  • azkaban调度器的安装及配置 安装前首先 了解一下azkaban 工作调度器:azkaban 工作流调度系统产生的背景:一个完整的数据分析系统都是由大量的任务单元组成 如:shell 脚本程序 /java程序 /mapreduce 程序/hive...
  • Azkaban调度全过程

    2020-07-29 10:37:16
    1.ods层通过azkaban调度执行sql把需要的数据取出并插入到rel; 对应上图:rpt_hy_qwsx_t_dict_report_mapping.job依赖bas.job, 调用shell脚本:rpt_hy_qwsx_t_dict_report_mapping.sh,通过脚本执行sql:rpt_hy_...
  • azkaban调度执行各种任务

    千次阅读 2020-03-23 12:29:32
    azkaban调度执行各种任务 脚本可以说是万能的,他可以执行任何命令,只要你能写出来的脚本都会帮你执行 例如你写个java程序,你就写个java -jar 例如你是个spark程序,你就写个spark -submit 例如你是个hdfs程序,你就写...
  • azkaban调度

    2019-04-03 17:21:49
    1. azkaban源码编译 这个部分比较简单,根据官方文档的命令编译即可,大概需要20分钟编译时间。 # Build Azkaban ./gradlew build # Clean the build ./gradlew clean # Build and install distributions ./...
  • 使用Azkaban调度Spark任务

    万次阅读 2016-03-08 22:26:08
    Azkaban是一种类似于Oozie的工作流控制引擎,可以用来解决多个Hadoop(或Spark等)离线计算任务... 下文将对azkaban对spark离线任务调度进行简要说明。 一. 简介该部分内容可参考官方文档:http://azkaban.github.io/
  • Azkaban调度任务脚本

    2021-05-13 08:18:45
    一个文件命名:azkaban.project azkaban-flow-version:2.0 另一个文件命名:业务名称.flow nodes: - name: mysql_to_hdfs type: command config: command: /home/atguigu/bin/mysql_to_hdfs.sh all ${dt} - ...
  • azkaban调度SQL代码

    千次阅读 2019-07-16 16:54:07
    1. azkaban上新建一个project 登录azkaban后,右上角有个Create Project的按钮,点解后录入项目信息。 2.上传项目文件 前人经验,这里应该上传一个.zip的压缩文件,并且你这个.zip的压缩文件里面不要有文件目录,...
  • Azkaban调度mapreduce任务demo

    千次阅读 2016-10-14 16:15:00
    http://blog.csdn.net/qq_20641565/article/details/52807776)以及Azkaban的安装(详情见:http://blog.csdn.net/qq_20641565/article/details/52814048),现在用java编写mapreduce程序通过Azkaban进行调度,...
  • 2.4 Azkaban实战 Azkaba内置的任务类型支持command、java Command类型单一job示例 创建job描述文件 创建文本文件,更改名称为mycommand.job 注意后缀.txt一定不要带上,保存为格式为UFT-8 without bom 内容...
  • Azkaban是一个非常优质的调度系统,非常适合中小型数据中心的ETL调度,也被很多公司广泛使用。但是azkaban有个鸡肋的地方,就是:每次添加新作业需要把项目重新打包上传,如果workflow有变化还得重新添加调度;每个...
  • (40)Azkaban调度

    2021-07-14 10:20:04
    1.Azkaban安装,上网搜,有很多可以操作的博客 2 创建 MySQL 数据库和表 1)创建 gmall_report 数据库 注:SQL 语句 CREATE DATABASE `gmall_report` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; ...
  • Azkaban 使用 job 配置文件建立任务之间的依赖关系,并提供一个易于使用的 web 用户界面维护和跟踪工作流。 窗含西岭千秋雪,门泊东吴万里船。 - - - - - - - - - - - - - - - - - - - - - - - - - - - ...
  • 三、Azkaban调度Shell脚本

    千次阅读 2019-09-10 17:29:28
    需求:通过Azkaban 调用 shell脚本,将当前时间追加到指定目录的date.txt文件中 1、Liux下创建shell脚本 mkdir azkaban_schedule cd azkaban_schedule/ vim shell_az.sh #!/bin/bash date >> /root/...
  • 使用azkaban调度spark任务

    千次阅读 2016-08-10 10:14:53
    Azkaban是一种类似于Oozie的工作流控制引擎,可以用来解决多个Hadoop(或Spark等)离线计算...下文将对azkaban对spark离线任务调度进行简要说明。 一. 简介 该部分内容可参考官方文档:http://azkaban.github
  • 需求:通过Azkaban 调用 shell脚本,将当前时间追加到指定目录的date.txt文件中 1、Liux下创建shell脚本 mkdir azkaban_schedule cd azkaban_schedule/ vim shell_az.sh #!/bin/bash date >> /root/...
  • 1.只用Sqoop 用于关系型数据库如mysql与非关系型数据库间数据的导入导出,要注意空值的处理。 Sqoop将mysql数据导出到hive中,需要经过两步, sqoop直接导入hive中其实他底层会做两件...由azkaban调度Sqoop将mysql导...
  • 2. 工作流调度azkaban 2.1 概述 azkaban官网: https://azkaban.github.io/ 2.1.1为什么需要工作流调度系统 l 一个完整的数据分析系统通常都是由大量任务单元组成: shell脚本程序,java程序,mapreduce程序...
  • 上传新的包 执行脚本 mysql数据多了两条 打开azkaban的页面,这里再次提醒要用谷歌浏览器 新建spark.job文件 #command.job type=command command=bash project.sh 打包成zip包 上传zip包 开始执行 mysql数据库多了两...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,176
精华内容 1,270
关键字:

azkaban调度文件