zoukankan      html  css  js  c++  java
  • Azkaban

    1、Azkaban

    官网:https://azkaban.github.io/
    Azkaban是一款开源工作流管理器

    Azkaban是在LinkedIn上创建的批处理工作流作业调度程序,用于运行Hadoop作业

    Azkaban通过作业依赖性解决订单,并提供易于使用的Web用户界面来维护和跟踪您的工作流程

    工作流作业:
    flume->hdfs->mr->hive建表->导入load data脚本
    自动化调度

    2、Azkaban安装部署

    1)解压
    首先将压缩包放进/root/hd/azkaban里面
    azkaban-executor-server-2.5.0.tar.gz –>executor
    azkaban-sql-script-2.5.0.tar.gz –>azkaban-2.5.0
    azkaban-web-server-2.5.0.tar.gz –>server
    tar -zxvf *.tar.gz

    2)进入mysql创建azkaban库,然后将解压好的脚本导入
    create database azkaban;
    use azkaban;
    source /root/hd/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql;

    3)生成证书(https生成器)
    keytool -keystore keystore -alias jetty -genkey -keyalg RSA
    (回车,不用填,到那个CN=Unknown那行下面有个判断,输入y,后面一行继续回车)
    将keystore移动到server文件夹下

    4)时间同步配置
    任务调度,所以和本地时间保持一致
    开启交互窗口:
    sudo date -s ”
    hwclock -w

    5)修改server端配置文件
    cd /root/hd/azkaban/server/conf
    vi azkaban.properties

    # Azkaban Personalization Settings
    azkaban.name=Test
    azkaban.label=My Local Azkaban
    azkaban.color=#FF3601
    azkaban.default.servlet.path=/index
    web.resource.dir=web/
    # 时区
    default.timezone.id=Asia/Shanghai
    #Azkaban UserManager class
    # 用户权限管理默认类
    user.manager.class=azkaban.user.XmlUserManager
    # 用户配置
    user.manager.xml.file=conf/azkaban-users.xml
    # Loader for projects
    #配置文件所在位置
    executor.global.properties=conf/global.properties
    azkaban.project.dir=projects
    # azkaban目前只支持mysql
    database.type=mysql
    mysql.port=3306
    # 当前主机名
    mysql.host=hsiehchou121
    mysql.database=azkaban
    mysql.user=root
    mysql.password=root
    # 最大连接数
    mysql.numconnections=100
    # Velocity dev mode
    velocity.dev.mode=false
    # Azkaban Jetty server properties.
    # 最大线程数
    jetty.maxThreads=25
    jetty.ssl.port=8443
    jetty.port=8081
    jetty.keystore=keystore
    jetty.password=123456
    jetty.keypassword=123456
    jetty.truststore=keystore
    jetty.trustpassword=123456
    # Azkaban Executor settings
    executor.port=12321
    # mail settings
    mail.sender=@qq.com
    mail.host=smtp.qq.com
    job.failure.email=
    job.success.email=
    lockdown.create.projects=false
    cache.directory=cache

    azkaban-users.xml

    <azkaban-users>
    <user username="azkaban" password="azkaban" roles="admin" groups="azkaban" />
    <user username="metrics" password="metrics" roles="metrics"/>
    <!--增加这一行 role管理员权限:admin-->
    <user username="admin" password="admin" roles="admin,metrics"/>
    <role name="admin" permissions="ADMIN" />
    <role name="metrics" permissions="METRICS"/>
    </azkaban-users>

    6)修改excutor端配置文件
    azkaban.properties

    # Azkaban
    # 时区
    default.timezone.id=Asia/Shanghai
    # Azkaban JobTypes Plugins
    # 插件
    azkaban.jobtype.plugin.dir=plugins/jobtypes
    #Loader for projects
    executor.global.properties=conf/global.properties
    azkaban.project.dir=projects
    database.type=mysql
    mysql.port=3306
    mysql.host=hsiehchou121
    mysql.database=azkaban
    mysql.user=root
    mysql.password=root
    mysql.numconnections=100
    # Azkaban Executor settings
    # 最大线程数
    executor.maxThreads=50
    executor.port=12321
    executor.flow.threads=30

    3、azkaban实战

    hdfs->hive建表->导入

    1)job1.job

    type=command
    command=echo 'Hello World!'

    打包成zip包上传到azkaban,执行

    2)job2(a.job和b.job)
    a.job

    type=command
    command=echo 'li'

    b.job

    type=command
    dependencies=a
    command=echo '666'

    打包成zip包上传到azkaban,执行

    3)startyarn.job

    type=command
    command=/root/hd/hadoop-2.8.4/sbin/start-yarn.sh

    打包成zip包上传到azkaban,执行

    4)mapreduce.job

    type=command
    command=/root/hd/hadoop-2.8.4/bin/hadoop jar hadoop-mapreduce-examples-2.8.4.jar wordcount /wc /wc/out

    打包成zip包上传到azkaban,执行

    5)hive操作
    hive.sql

    use default;
    create table azhive(id int, name string) row format delimited fields terminated by ' ';
    load data inpath '/hsiehchou.txt' into table azhive;

    hivef.job

    type=command
    command=/root/hd/hive/bin/hive -f 'hive.sql'

    打包成zip包上传到azkaban,执行

  • 相关阅读:
    NetSuite Batch Process Status
    NetSuite generated bank files and the Bank Reconciliation process
    Global Search file content in Gitlab repositories, search across repositories, search across all files
    FedEx Package Rate Integration with NetSuite direct integrate by WebServices
    git Merge branches
    git tag and NetSuite deployment tracking
    API 读写cookie的方法
    C# 生成缩略图
    解决jquery操作checkbox全选全不选无法勾选问题
    JS读取写入删除Cookie方法
  • 原文地址:https://www.cnblogs.com/hsiehchou/p/10520607.html
Copyright © 2011-2022 走看看