zoukankan      html  css  js  c++  java
  • azkaben任务调度器

    azkaban学习笔记总结

    01.工作流调度器azkaban

    1. 任务调度概述

    • 一个完整的数据分析系统通常都是由大量任务单元组成:
      shell脚本程序,java程序,mapreduce程序、hive脚本等
    • 各任务单元之间存在时间先后及前后依赖关系

    现成的开源调度系统,比如ooize、azkaban。

    2. azkaban介绍

    Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
    它有如下功能特点:

    • Web用户界面
    • 方便上传工作流
    • 方便设置任务之间的关系
    • 调度工作流
    • 认证/授权(权限的工作)
    • 能够杀死并重新启动工作流
    • 模块化和可插拔的插件机制
    • 项目工作区
    • 工作流和任务的日志记录和审计

    3. azkaban安装部署

    最好结合shell脚本来完成调度。

    azkaban最好安装在master上,方便各种命令的执行。

    Azkaban Web服务器:
    azkaban-web-server-2.5.0.tar.gz

    Azkaban执行服务器:
    azkaban-executor-server-2.5.0.tar.gz

    MySQL:
    目前azkaban只支持 mysql,需安装mysql服务器,可以安装在某个节点之上(172.23.27.11),并建立了 root用户,密码 921015.

    1.azkaban web服务器安装

    1.解压

    tar –zxvf azkaban-web-server-2.5.0.tar.gz
    mv azkaban-web-server-2.5.0  server
    

    2.创建SSL配置

    keytool -keystore keystore -alias jetty -genkey -keyalg RSA
    

    运行此命令后,会提示输入当前生成 keystor的密码及相应信息,输入的密码请劳记,信息如下:

    输入keystore密码:
    再次输入新密码:
    输入相同密码921015

    完成上述工作后,将在当前目录生成 keystore 证书文件,将keystore 考贝到 azkaban web服务器根目录中.

    cp keystore azkaban/server
    

    3.配置文件

    注:先配置好服务器节点上的时区
    1、先生成时区配置文件Asia/Shanghai,用交互式命令 tzselect 即可
    2、拷贝该时区文件,覆盖系统本地时区配置
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    修改conf/azkaban.properties

    default.timezone.id=Asia/Shanghai  #时区
    
    database.type=mysql
    mysql.port=3306
    mysql.host=172.23.27.11
    mysql.database=azkaban  #数据库实例名
    mysql.user=root
    mysql.password=921015
    
    # Azkaban Jetty server properties.
    jetty.maxThreads=25
    jetty.ssl.port=8443
    jetty.keystore=keystore
    jetty.password=921015
    jetty.keypassword=921015
    jetty.truststore=keystore
    jetty.trustpassword=921015
    

    其余不修改。

    修改conf/azkaban-users.xml,添加web访问用户密码

    <user username="admin" password="admin" roles="admin,metrics" />
    
    2. azkaban 执行服务器executor配置

    修改conf/azkaban.properties

    default.timezone.id=Asia/Shanghai #时区
    #数据库设置
    database.type=mysql
    mysql.port=3306
    mysql.host=172.23.27.11
    mysql.database=azkaban #数据库实例名
    mysql.user=root
    mysql.password=921015
    
    3. azkaban脚本导入(MySQL配置)
    tar –zxvf azkaban-sql-script-2.5.0.tar.gz
    

    在安装了MySQL的节点

    mysql> create database azkaban;
    mysql> use azkaban;
    mysql> source /opt/azkaban-2.5.0/create-all-sql-2.5.0.sql;
    
    4. 启动
    bin/azkaban-web-start.sh
    

    或者启动到后台:

    nohup  bin/azkaban-web-start.sh  1>/tmp/azstd.out  2>/tmp/azerr.out &
    

    https://服务器IP地址:8443

    bin/azkaban-executor-start.sh
    

    用户名密码:admin

    3. command job示例

    多依赖job示例

    1. 创建job描述

    第一个job:foo.job

    # foo.job
    type=command
    command=echo foo
    

    第二个job:bar.job依赖foo.job

    # bar.job
    type=command
    dependencies=foo
    command=echo bar
    
    2. 打包上传

    将所有job资源文件打到一个zip包中。

    在web页面中创建工程,并上传zip包。

    可以设置调度时间和立即执行。

    暂时先记录到这儿吧,以后再完善。

  • 相关阅读:
    java 寒假作业
    java 搭积木
    java 移动距离
    java 垒骰子
    java 饮料换购
    java 牌型种数
    ONOS基础教程(QuickStart with a VM)
    Java中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念
    PM2使用基本介绍
    nodejs项目部署
  • 原文地址:https://www.cnblogs.com/wangrd/p/6286095.html
Copyright © 2011-2022 走看看