用最短的时间学会使用Azkaban来管理我们的任务

1 篇文章 0 订阅
1 篇文章 0 订阅

                                                  学会使用Azkaban来管理我们的任务

Azkaban是什么:

    Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。

Azkaban架构:
1、MySQL实例:
Azkaban使用MySQL做一些状态的存储
2、Azkaban web服务:
Azkaban使用Jetty作为web服务器
对数据库的使用:项目管理,执行流程状态,查看任务执行结果以及历史日志,调度程序
3、Azkaban执行服务器:
执行提交的工作流
对数据库的使用:获取项目,执行工作流或Jobs,Logs,不同的依赖进行交流

安装与部署:
配置MySQL:
1、修改MySQL的编码:
/etc/my.cnf
找到客户端配置[client] 在下面添加
default-character-set=utf8
找到[mysqld] 在下面添加
default-character-set=utf8
init_connect='SET NAMES utf8'
修改完后重启MySQL进行查看
[root@master ~]# /etc/init.d/mysqld restart
[root@master ~]# mysql -uroot -p
mysql> show variables like 'character%';
2、登陆MySQL执行脚本
登陆MySQL:[root@master ~]# mysql -uroot -p
创建Azkaban数据库:CREATE DATABASE azkaban;
创建Azkaban用户以及授权:
grant all on *.* to azkaban@'%'  identified by 'azkaban;
grant all on *.* to azkaban@'master'  identified by 'azkaban';
grant all on *.* to azkaban@'localhost'  identified by 'azkaban';
flush privileges;
exit
使用Azkaban登陆MySQL并且进入Azkaban数据库:mysql -uazkaban -pazkaban
执行初始化脚本:source /home/user/azkaban/create-all-sql-2.5.0.sql

配置Azkaban web server:
1、解压Azkaba web压缩包:unzip azkaban-web-2.5.0.zip
2、上传mysql驱动:
cp mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar azkaban-web-2.5.0/extlib/
3、修改配置文件azkaban.properties: azkaban-web-2.5.0/conf/目录下
数据库端口号,数据库主机,数据库名称,数据库用户,数据库密码
jetty端口号,jetty密码
[user@master azkaban]$ cd azkaban-web-2.5.0/conf/
[user@master conf]$ vim azkaban.properties
修改如下内容
#默认时区,已改为亚洲/上海 默认为美国
default.timezone.id=Asia/Shanghai 
#数据库连接IP 
mysql.host=master  

4、修改文件权限:chmod 755 /home/user/azkaban/azkaban-web-2.5.0/bin/*

配置jetty ssl:
输入命令:
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
密码必须和配置文件 azkaban.properties中一致
前三项按以下填写:
Enter keystore password:  password
        What is your first and last name? 您的名字与姓氏是什么?
        [Unknown]:  jetty.mortbay.org
        What is the name of your organizational unit?您的组织单位名称是什么?
        [Unknown]:  Jetty
        What is the name of your organization?您的组织名称是什么?
        [Unknown]:  Mort Bay Consulting Pty. Ltd.
        What is the name of your City or Locality?您所在的城市或区域名称是什么?
        [Unknown]:
        What is the name of your State or Province?您所在的州或省份名称是什么?
        [Unknown]:
        What is the two-letter country code for this unit?该单位的两字母国家代码是什么
        [Unknown]:
        Is CN=jetty.mortbay.org, OU=Jetty, O=Mort Bay Consulting Pty. Ltd.,
        L=Unknown, ST=Unknown, C=Unknown correct?正确吗?
        [no]:  yes
        Enter key password for <jetty>
        (RETURN if same as keystore password):  password
生成keystore:
完成上述工作后,将在当前目录生成 keystore 证书文件,将keystore 考贝到 azkaban web服务器根目录中
[user@master ~]$ cp keystore azkaban/azkaban-web-2.5.0/

配置Azkaban Executor Server:
解压:
[user@master azkaban]$ unzip azkaban-executor-2.5.0.zip
Azkaban 执行服务器配置:
[user@master azkaban]$ cd azkaban-executor-2.5.0/conf/
[user@master conf]$ vim azkaban.properties
修改内容如下
#时区
default.timezone.id=Asia/Shanghai
#数据库IP地址 
mysql.host=master
#数据库实例名
mysql.database=azkaban
修改文件权限:
[user@master conf]$ chmod 755 /home/lanou/azkaban/azkaban-executor-2.5.0/bin/*

用户配置:
进入azkaban web服务器conf目录,修改azkaban-users.xm
增加管理员用户:用于登陆Azkaban



    

       启动Azkaban:

     web服务器:

      [user@master azkaban-web-2.5.0]$ bin/azkaban-web-start.sh ./

      执行服务器:

      [lanou@master azkaban-executor-2.5.0]$ bin/azkaban-executor-start.sh ./

        验证:

        启动完成后,在浏览器中输入https://服务器IP地址:8443 ,即可访问azkaban服务了   

        使用配置文件中的用户名和密码登陆,即admin  admin     


 

      好了,如果登陆成功就说明我们对Azkaban的配置以及完成了,接下来我们就可以开始使用Azkaban来管理我们的MapReduce任务了:

      我们编写两个.job结尾的文本文件:

      a.job文件内容如下:

      # a.job
      type=command
      command=echo "Hello World!"

      b.job文件内容如下:

      # b.job

      type=command
      dependencies=a
      command=echo I'm fine

      把需要运行的两个job放在同一个文件下面打成.zip格式的包,注意 Azkaban目前只支持.zip格式

    

       Azkaban页面操作:

       网址https://master:8443      注意:master是自己主机的ip地址或者主机名映射

       创建一个工程:登陆后点击右上角的create project

       添加job:点击右上角的upload,然后将自己的job.zip压缩包上传

       执行job:选择我们要执行的job,然后点击execute

       查看job执行情况:

       绿色代表成功,蓝色是运行,红色是失败。可以查看job运行时间,依赖和日志,点击details可以查看各个job运行情况




   


 

      

    


     

 



 





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值