美文网首页
azkaban工作流调度

azkaban工作流调度

作者: pamperxg | 来源:发表于2017-08-13 10:49 被阅读0次

    一个完整的数据分析系统通常由大量的任务单元组成:shell脚本程序,java程序,mapreduce程序,hive脚本等。各任务单元之间存在时间先后和依赖关系,所以需要工作流调度。
    简单的任务调度可以用linux的crontab来定义,复杂的调度可以用oozie、azkaban。

    azkaban安装配置

    需要安装:Azkaban web服务器,Azkaban执行服务器,Mysql
    最好上传安装到hive、sqoop的机器上方便命令的执行。

    安装配置步骤
    • 上传解压
    mkdir azkaban
    tar -zxvf azkaban-web-server-2.5.0.tar.gz  -C azkaban
    tar -zxvf azkaban-executor-server-2.5.0.tar.gz  -C azkaban
    tar -zxvf azkaban-sql-script-2.5.0.tar.gz  -C azkaban
    
    mv azkaban-web-2.5.0/ server
    mv azkaban-executor-2.5.0/ executor
    
    • 导入sql脚本
    mysql -u root -p
    show databases;
    create database azkaban;
    use azkaban;
    source /home/hadoop/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql
    
    • ssl证书配置
    keytool -keystore keystore -alias jetty -genkey -keyalg RSA
    设置密码123456,按提示操作
    cp keystore server/
    
    • 方便工作流调度,统一时间
    tzselect
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
    date mmddHHMM  /月日时分
    hwclock -w
    
    • 修改配置文件(3个文件)
    server/conf/azazkaban.properties
    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
    
    database.type=mysql
    mysql.port=3306
    mysql.host=localhost
    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=
    mail.host=
    job.failure.email=
    job.success.email=
    
    lockdown.create.projects=false
    
    cache.directory=cache
    
    server/conf/azkaban-user.xml
    <azkaban-users>
            <user username="azkaban" password="azkaban" roles="admin" groups="azkaba
    n" />
            <user username="metrics" password="metrics" roles="metrics"/>
            <user username="admin" password="admin" roles="admin,metrics"/>
            <role name="admin" permissions="ADMIN" />
            <role name="metrics" permissions="METRICS"/>
    </azkaban-users>
    
    executor/conf/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=localhost
    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
    
    
    启动

    1.server

    bin/azkaban-web-start.sh
    敲回车转向后台
    或者后台启动:nohup  bin/azkaban-web-start.sh  1>/tmp/azstd.out  2>/tmp/azerr.out &
    

    2.executor

    bin/azkaban-executor-start.sh
    

    然后在浏览器中输入:https://mini1:8443
    可以upload任务,打包上传即可

    azkaban

    任务类型可以是:单一job,工作流,hdfs操作任务,mapreduce任务,hive脚本任务。

    相关文章

      网友评论

          本文标题:azkaban工作流调度

          本文链接:https://www.haomeiwen.com/subject/yvidrxtx.html