• 07_Azkaban工作流调度器简介及其安装


    Azkaban介绍

      Azkaban是一个Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程

    Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。

    它有如下功能特点:

      Web用户界面

      方便上传工作流

      方便设置任务之间的关系

      调度工作流

      认证/授权(权限的工作)

      能够杀死并重新启动工作流

      模块化和可插拔的插件机制

      项目工作区

      工作流和任务的日志记录和审计

    Azkaban安装部署

      准备工作:需要Azkaban Web服务器、Azkaban执行服务器、Azkaban只支持 mysql,需安装mysql服务器

      Azkaban Web服务器下载路径:https://pan.baidu.com/s/1GScGIxktelBerHGzTdLnvQ

      Azkaban执行服务器下载路径:https://pan.baidu.com/s/1aEh6J9AtFQXy4Cro-Z9ZoQ

      Azkaban脚本导入下载路径:https://pan.baidu.com/s/1yTYVekDFtvrqrZ8xd5LycA

      1.将安装包上传服务器,最好上传到安装 hive、sqoop的机器上,然后进行解压到目录:/usr/local/src/azkaban/

        tar -xzvf azkaban-sql-script-2.5.0.tar.gz  -C /usr/local/src/azkaban/

        然后可以进行重命名:mv azkaban-executor-2.5.0 executor 、 mv azkaban-web-2.5.0 webserver

      2.Azkaban脚本导入:将解压后的mysql 脚本,导入到mysql

        首先进入mysql:mysql -uroot -proot

        

        

      3.(创建SSL配置):因为web访问通过HTTPS协议,因此需要证书,配置如下:

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

        在当前目录生成相应证书秘钥文件keystore将keystore拷贝到 Azkaban web服务器bin目录中:

        如:cp keystore azkaban/server

      4.配置好服务器节点上的时区:    

        1、先生成时区配置文件Asia/Shanghai,用交互式命令 tzselect 即可

        2、拷贝该时区文件,覆盖系统本地时区配置:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 

       5.Azkaban Web服务器配置进入Azkaban web服务器安装目录下的conf目录

        1.修改配置文件:vi /usr/local/src/azkaban/webserver/conf/azkaban.properties

    #Azkaban Personalization Settings
    azkaban.name=Test                           #服务器UI名称,用于服务器上方显示的名字
    azkaban.label=My Local Azkaban                               #描述
    azkaban.color=#FF3601                                        #UI颜色
    azkaban.default.servlet.path=/index                       
    web.resource.dir=web/                                        #默认根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    # global配置文件所在位置
    azkaban.project.dir=projects                                                #
     
    database.type=mysql                                                              #数据库类型
    mysql.port=3306                                                                       #端口号
    mysql.host=localhost                                                      #数据库连接IP
    mysql.database=azkaban                                                       #数据库实例名
    mysql.user=root                                                                 #数据库用户名
    mysql.password=root                                                          #数据库密码
    mysql.numconnections=100                                                  #最大连接数
     
    # Velocity dev mode
    velocity.dev.mode=false
    # Jetty服务器属性.
    jetty.maxThreads=25                                                               #最大线程数
    jetty.ssl.port=8443                                                                   #Jetty SSL端口
    jetty.port=8081                                                                         #Jetty端口
    jetty.keystore=keystore                                                          #SSL文件名
    jetty.password=123456                                                             #SSL文件密码
    jetty.keypassword=123456                                                      #Jetty主密码 与 keystore文件相同
    jetty.truststore=keystore                                                                #SSL文件名
    jetty.trustpassword=123456                                                   # SSL文件密码
     
    # 执行服务器属性
    executor.port=12321                                                               #执行服务器端口
     
    # 邮件设置
    mail.sender=xxxxxxxx@163.com                                       #发送邮箱
    mail.host=smtp.163.com                                                       #发送邮箱smtp地址
    mail.user=xxxxxxxx                                       #发送邮件时显示的名称
    mail.password=**********                                                 #邮箱密码
    job.failure.email=xxxxxxxx@163.com                              #任务失败时发送邮件的地址
    job.success.email=xxxxxxxx@163.com                            #任务成功时发送邮件的地址
    lockdown.create.projects=false                                           #
    cache.directory=cache                                                            #缓存目录

         2.修改配置文件:增加管理员用户vi /usr/local/src/azkaban/webserver/conf/azkaban-users.xml

    <azkaban-users>
            <user username="azkaban" password="azkaban" roles="admin" groups="azkaban" />
            <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>

       6.Azkaban执行服务器executor配置进入Azkaban executor安装目录下的conf目录  

        1.修改配置文件:vi /usr/local/src/azkaban/executor/conf/azkaban.properties  

    #Azkaban
    default.timezone.id=Asia/Shanghai                                              #时区
     
    # Azkaban JobTypes 插件配置
    azkaban.jobtype.plugin.dir=plugins/jobtypes                   #jobtype 插件所在位置
     
    #Loader for projects
    executor.global.properties=conf/global.properties
    azkaban.project.dir=projects
     
    #数据库设置
    database.type=mysql                                                                       #数据库类型(目前只支持mysql)
    mysql.port=3306                                                                                #数据库端口号
    mysql.host=localhost                                                           #数据库IP地址
    mysql.database=azkaban                                                                #数据库实例名
    mysql.user=root                                                                       #数据库用户名
    mysql.password=root                                  #数据库密码
    mysql.numconnections=100                                                           #最大连接数
     
    # 执行服务器配置
    executor.maxThreads=50                                                                #最大线程数
    executor.port=12321                                                               #端口号(如修改,请与web服务中一致)
    executor.flow.threads=30                                                                #线程数

    启动

      Azkaban web服务器启动:bin/azkaban-web-start.sh

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

      Azkaban executor启动:bin/azkaban-executor-start.sh

       启动完成后,在浏览器(建议使用谷歌浏览器)中输入https://shizhan2:8443 ,即可访问azkaban服务了.在登

    录中输入刚才新的户用名及密码,点击 login.

      

    启动常见问题

    1.azkaban-users.xml找不到

         Caused by: java.lang.IllegalArgumentException: User xml file conf/azkaban-users.xml doesn't exist.

        解决:配置文件azkaban.properties里user.manager.xml.file改为绝对路径

    2.Keystore找不到

        java.io.FileNotFoundException: /opt/azkaban-web-2.5.0/bin/keystore (No such file or directory)

        解决:复制keystore文件到bin目录下

    3.网页登陆显示不正常

       

           解决:修改web.resource.dir为绝对路径web.resource.dir=/opt/azkaban-web-2.5.0/web/

  • 相关阅读:
    解决SpringMVC中jsp页面无法加载js,css,jpg中的信息
    浅谈SpringMVC
    Java垃圾回收与算法
    Linux常见命令
    Warm_up(HCTF_2018)
    house_of_storm 详解
    malloc 函数分析 glibc2.23
    Fastbin attack 总结
    Unlink学习总结
    xman_2019_format(非栈上格式化字符串仅一次利用的爆破)
  • 原文地址:https://www.cnblogs.com/yaboya/p/9318287.html
Copyright © 2020-2023  润新知