zoukankan      html  css  js  c++  java
  • azkaban2.5 具体配置以及使用方式

    azkaban支持shell、java、mapreduce以及hive的工作流调度,在对这些不同类型任务调度之前须要配置所相应的插件;azkaban总体分为两部分azkaban executor server(负责任务调度的处理)、azkaban web server(提供web ui可视化操作);

         眼下採用的版本号插件均为2.5.0 完整包下载

    1、编译

            azkaban源代码地址:https://github.com/azkaban/azkaban/tree/release-2.5/src

           azkaban插件源代码地址:https://github.com/azkaban/azkaban-plugins/tree/release-2.5

          是用ant来进行编译、打包

    2、安装和编译

    •  从http://azkaban.github.io/downloads.html下载例如以下安装包
      • azkaban-web-server-2.5.0.tar.gz
      • azkaban-executor-server-2.5.0.tar.gz
      • azkaban-sql-script-2.5.0.tar.gz
      • azkaban-jobtype-2.5.0.tar.gz
      • azkaban-hdfs-viewer-2.5.0.tar.gz
      • azkaban-jobsummary-2.5.0.tar.gz
      • azkaban-reportal-2.5.0.tar.gz

    Azkaban Web Server的部署

         1、在本地安装mysql数据库,用来存储azkaban任务id、probject等信息的元数据库

         2、建表,解压azkaban-sql-script-2.5.0.tar.gz 在创建的数据库中运行create-all-sql-2.5.0.sql文件

         3、解压azkaban-web-server-2.5.0.tar.gz。里面带有mysql-connector-java-5.1.28.jar,版本号不一致能够更换

         4、在解压后的文件夹下中的conf文件里输入keytool -keystore keystore -alias azkaban -genkey -keyalg RSA ,

               在运行该命令后会提示输入password(建议输入的password都一样,方便兴许配置),这个password是兴许配置jetty时使用的,最后将在当前文件夹生成 keystore 证书文件,将 keystore 考贝到 azkaban web 文件夹中。

         5、在/conf/azkaban.properties配置:

                azkaban的大部分web方面的配置均在这个文件里包含:

      • 时区的配置:default.timezone.id=Asia/Shanghai
      • web所依赖mysql的配置:

        database.type=mysql

        mysql.port=**

        mysql.host=**

        mysql.database=**

        mysql.user=**

        mysql.password=**

        mysql.numconnections=**

      • jetty的配置

        jetty.maxThreads=**

        jetty.ssl.port=**

        jetty.port=**

        jetty.keystore=keystore

        jetty.password=创建keystore的密码

        jetty.keypassword=azkaban

        jetty.truststore=创建keystore的password

        jetty.trustpassword=创建keystore的密码

      • 邮件的配置
        mail.sender=
        mail.host=
        mail.user=
        mail.password=
        job.failure.email=
        job.success.email=
      • 其它配置可默认

      6、azkaban-users.xml 配置用户的权限登录账号和password

      7、服务的启动和关闭均在bin文件夹下命令:

                    bin/azkaban-web-shutdown.sh

                    bin/azkaban-web-start.sh

    Azkaban Executor Server的部署

         1、解压azkaban-executor-server-2.5.0.tar.gz到安装文件夹在lib中自带了mysql-connector-java-5.1.28.jar,假设版本号不一致请自行替换。

         2、改动配置文件   安装文件夹/conf/azkaban.properties

    • 设置时区
      default.timezone.id=Asia/Shanghai
    • 设置数据库,与Web Server中的数据库设置一致

       3、启动/停止服务

             和 web Service类似切到bin的上一文件夹

             bin/azkaban-executor-shutdown.sh 停止

             bin/azkaban-executor-start.sh 启动

         4、插件的安装

    • 进入 安装文件夹/plugins文件夹,在该文件夹下解压azkaban-jobtype- 2.5.0.tar.gz得到文件夹:azkaban-jobtype-2.5.0。

      这个文件夹用来存放之后安装的全部插 件,与Web Server中的viewer文件夹类似。每次插件的安装配置须要重新启动Executor Server。

    • 改动 安装文件夹/plugins/azkaban-jobtype-2.5.0/common.properties。设置hadoop.home和hive.home。与你的环境变量HADOOP_HOME和HIVE_HOME分布保持一致。   

                     hadoop.home=/etc/hadoop

                    hive.home=/usr/lib/hive

                   executor.home=/opt/azkaban2/executor    //executor所在文件夹

                    hadoop.lib=/usr/lib/hadoop                       //hadoop lib

                    azkaban.should.proxy=false

    • 改动 同等文件夹下的commonprivate.properties:
          1、相同须要设置hadoop.home和hive.home、executor.home、 hadoop.lib。
          2、设置.classpath

              ehive.classpath.items=${hive.home}/lib/*,${hive.home}/conf/,${hive.aux.jars.path}/*,${hadoop.lib}/*,${hadoop.lib}/lib/*,${hadoop.lib}/client/*,${hadoop.home}/conf/

              hive.classpath.items=${hive.home}/lib/*,${hive.home}/conf/,${hive.aux.jars.path}/*

         3、设置权限、代理

                 # proxy.keytab.location=/home/aa.keytab

                # proxy.user=media-sns/111111@qq.COM

                azkaban.should.proxy=false//假设为true的话须要进行kerkeros,即凝视打开,打开会后报hadoop的gettoken异常

               obtain.binary.token=true

               obtain.namenode.token=true

               obtain.jobtracker.token=true

      hive的安装
        改动hive目录下的plugin.properties 
                 hive.aux.jars.path=${hive.home}/lib
        改动hive目录下的private.properties 

                jobtype.classpath=${hive.home}/lib/*,${hive.home}/conf,${hive.aux.jars.path}

               jobtype.class=azkaban.jobtype.HadoopHiveJob

                hive.aux.jars.path=${hive.home}/aux/lib

      上面的${hive.home} 均为/common.properties 文件里设置的hive.home

             注意:使用官网的jar包会有问题,须要下载源代码更改又一次编译: azkaban-hadoopsecuritymanager-2.5.0.fix.jar

                      /plugins/jobtype/src/azkaban/jobtype/HadoopSecureHiveWrapper.java

                     删除:

                          if (!ShimLoader.getHadoopShims().usesJobShell()) { } 又一次打包编译

      jar包清单:

           1、/azkaban2/executor/lib

               executor/lib.jpg

          2、/azkaban2/executor/plugins/azkaban-jobtype-2.5.0/hive     hive以及java  hadoopjava等都一样

               插件jar.jpg

      当中的azkaban-hadoopsecuritymanager-2.5.0.fix.jar 是编译完之后的包

        3、 使用

            azkaban的使用方式是依照job文件描写叙述来进行使用的,使用type来运行运行任务的类型,通过dependencies能够用来连接任务。即dependencies=A,仅仅有A任务运行完了才干够运行改任务

          将描写叙述文件和脚本文件打成zip包上传到azkaban所相应的probject中

          运行Shell文件:

           job文件:

             type=command

            command=echo "mr"

            command.1=sh mr.sh

          文件文件夹:

                

       运行Java文件

        type=hadoopJava

        job.class=azkaban.jobtype.examples.java.WordCount

        classpath=./lib/*,${hadoop.home}/lib/*

        main.args=${param.inData} ${param.outData}

        Method.run=test();

        force.output.overwrite=true

        input.path=${param.inData}

     output.path=${param.outData}

    假设不指定方法名默认找run()方法去运行 假设没有会报错

    假设没有输入输出參数等,能够省略

    运行hive

       type=hive

       user.to.proxy=media-sns

       azk.hive.action=execute.query

       hive.script=hive.sh

       在hive.sh中写hive的sql

         use test;

         select * from t_user limit 10;

       文件夹结构:

             

    运行mr  

        可通过shell运行mr任务的命令方式和shell一样

  • 相关阅读:
    LeetCode "Group Shifted Strings"
    LeetCode "Read N Characters Given Read4 II
    LeetCode "Factor Combinations"
    LeetCode "Paint House II"
    LeetCode "Shortest Word Distance II"
    LeetCode "Flatten 2D Vector"
    LeetCode "Meeting Rooms II"
    iOS开发UI篇—UITableview控件使用小结
    ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
    iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/7252454.html
Copyright © 2011-2022 走看看