准备下载Azkaban2.5.0:https://azkaban.github.io/downloads.htm

准备插件:

 

一、MySQL安装与配置

     启动数据库并查看状态:sudo service mysqld start

                                          sudo service mysqld status

    

azkaban任务失败写入mysql azkaban mysql_sql

   

 

     登陆mysql:以root用户登陆      

     mysql -u root -p

   

azkaban任务失败写入mysql azkaban mysql_sql_02

   

 

 

     1)为Azkaban单独创建一个数据库:

         create database azkaban

         

azkaban任务失败写入mysql azkaban mysql_mysql_03

 

 

 

 

2)单独创建一个数据库用户,实际生产中最好单独创建一个用户,这里我使用azkaban/***1234,并对用户授权

             创建:create user 'azkaban'@'主机名' identified by 'azkaban';(用户azkaban、主机名、对数据库azkaban)

             授权:grant select,insert,update,delete,create,index on `azkaban`.* to 'azkaban'@'主机名' with grant option;

       

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_04

 

 

        

azkaban任务失败写入mysql azkaban mysql_mysql_05

     

 

 

 

    接下来通过刚创建的用户登陆mysql

     

azkaban任务失败写入mysql azkaban mysql_sql_06

     

 

 

     报错,再执行下面的

mysql> grant all privileges on *.* to 'azkaban'@'%' identified by 'azkaban' with grant option;
     Query OK, 0 rows affected (0.00 sec) 
     mysql> grant all privileges on *.* to 'azkaban'@'master' identified by 'azkaban' with grant option;
     Query OK, 0 rows affected (0.00 sec) 
     mysql> grant all privileges on *.* to 'azkaban'@'localhost' identified by 'azkaban' with grant option;
     Query OK, 0 rows affected (0.00 sec)

 

     

azkaban任务失败写入mysql azkaban mysql_sql_07

    

azkaban任务失败写入mysql azkaban mysql_sql_08

    

   select user,host,password from mysql.user;

    

azkaban任务失败写入mysql azkaban mysql_hadoop_09

   

    此时就可以通过azkaban账号登陆了

     

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_10


3) 为azkaban建表:

         下载azkaban-sql-script-2.5.0.tar.gz 解压缩

          执行create-all-sql-2.5.0.sql

          mysql -u azkaban -pazkaban -Dazkaban<create-all-sql-2.5.0.sql(create-all-sql-2.5.0.sql重定向到创建的数据库)

         上传解压

         

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_11

           

azkaban任务失败写入mysql azkaban mysql_mysql_12

 

 

        退出,做重定向

mysql -uazkaban -pazkaban -Dazkaban</home/hadoop/app/azkaban-2.5.0/create-all-sql-2.5.0.sql(全路径)

 

         

azkaban任务失败写入mysql azkaban mysql_hadoop_13

       

      再次登录

       

azkaban任务失败写入mysql azkaban mysql_sql_14

        

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_15

完成

 

    4)准备jdbc驱动

      下载jdbc驱动包,webserver和executor-server都需要它,将其放入到webserver和executor-server的extlib目录下(2.5版本是自带的不需要配置)

 

二、配置Azkaban Web Server

    1)安装web server

下载  解压缩

     

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_16

 

      

azkaban任务失败写入mysql azkaban mysql_mysql_17

   

      

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_18

 

上传依赖包

把mysql驱动上传至/home/hadoop/app/azkaban-web-2.5.0/extlib

       

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_19

Getting KeyStore for SSL(生成KeyStore文件)

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

     

azkaban任务失败写入mysql azkaban mysql_hadoop_20

密码尽量一致(包括大小写)

修改配置文件:conf/azkaban.properties

     修改

     

     

azkaban任务失败写入mysql azkaban mysql_hadoop_21

 

 

# Azkaban Jetty server properties.
    jetty.maxThreads=25
    jetty.ssl.port=8443
    jetty.port=8081
    jetty.keystore=/home/hadoop/app/azkaban-web-2.5.0/web/keystore
    jetty.password=******
    jetty.keypassword=******
    jetty.truststore=/home/hadoop/app/azkaban-web-2.5.0/web/keystore 
    jetty.trustpassword=******

  

   修改

   setting up to the DB

    

    

azkaban任务失败写入mysql azkaban mysql_sql_22

 

#Loader for projects
   executor.global.properties=/home/hadoop/app/azkaban-web-2.5.0/conf/global.properties
   azkaban.project.dir=projects   database.type=mysql
   mysql.port=3306
   mysql.host=localhost
   mysql.database=azkaban
   mysql.user=azkaban
   mysql.password=azkaban
   mysql.numconnections=100

   

   修改

   

azkaban任务失败写入mysql azkaban mysql_hadoop_23

 

#Azkaban UserManager class
   user.manager.class=azkaban.user.XmlUserManager
   user.manager.xml.file=/home/hadoop/app/azkaban-web-2.5.0/conf/azkaban-users.xml

     修改

     

azkaban任务失败写入mysql azkaban mysql_mysql_24

 

 

#Azkaban Personalization Settings
     azkaban.name=Test
     azkaban.label=My Local Azkaban
     azkaban.color=#FF3601
     azkaban.default.servlet.path=/index
     web.resource.dir=/home/hadoop/app/azkaban-web-2.5.0/web/


     default.timezone.id=America/Los_Angeles


      启动web server

      bin/azkaban-web-start.sh 

      bin/azkaban-web-shutdown.sh 

https://192.168.80.11:8443/

      

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_25

       

azkaban任务失败写入mysql azkaban mysql_mysql_26

 回车

         

https://192.168.80.11:8443/   web页面展示   

 

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_27

     

azkaban任务失败写入mysql azkaban mysql_mysql_28

 

    配置安装完成!!!!!

三、配置安装Azkaban Executor Server

1)安装Azkaban Executor Server    

           下载azkaban-executor-server-2.5.0.tar.gz  上传、解压缩即可。

           

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_29

               

azkaban任务失败写入mysql azkaban mysql_mysql_30

 

 2)配置数据库(setting up to DB)

         修改cof/azkaban.properties

          

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_31

             

azkaban任务失败写入mysql azkaban mysql_mysql_32

 

#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=azkaban
          mysql.password=azkaban
          mysql.numconnections=100

 

3)配置端口号

             

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_33

            

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_34

 

默认配置不动即可(webserver和executorserver都用默认不需改动,如若自己想修改则两端都要改成一致)

 

注意:对于两种不同的模式,配置是不一样的了:

        single executor mode:executor.port=12321即可。只需要和AzkabanWebServer的azkaban.properties下的executor.port保持一致就OK了。

 

 

4)启停Executor Server

bin/azkaban-exec-start.sh
      bin/azkaban-exec-shutdown.sh

 

       

azkaban任务失败写入mysql azkaban mysql_hadoop_35

       

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_36

报错是由于没有指定全路径,找不到文件。所以在配置时尽量使用全路径即可

 

     

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_37

     

jps可以发现即使报错但是还是启动起来了,这里先干掉再启动

 

     

azkaban任务失败写入mysql azkaban mysql_hadoop_38

      

azkaban任务失败写入mysql azkaban mysql_hadoop_39

   

 重新启动

     

azkaban任务失败写入mysql azkaban mysql_sql_40

成功

 四、多个Executor Server 模式

  

五、配置Azkaban插件

azkaban设计的思路是使非核心功能基于插件,所以核心功能非常轻便,安装升级方便,而且很容易扩展到不同的操作系统。

      web server 插件:

                                 viewer plugins

                                 trigger plugins

                                 user manager plugins

                                 alerter plugins

 

     executor server插件: 

 

     注意:注意之前的疏忽,这里调整时区

    web server

    

azkaban任务失败写入mysql azkaban mysql_sql_41

executor server

     

azkaban任务失败写入mysql azkaban mysql_hadoop_42

调整完成 重新启动 生效


六、创建工作流

      桌面创建两个后缀名为.job的文件

     

azkaban任务失败写入mysql azkaban mysql_sql_43

 

      

azkaban任务失败写入mysql azkaban mysql_sql_44

     

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_45

 

打包

     

azkaban任务失败写入mysql azkaban mysql_sql_46

    

 

登陆web界面:https://192.168.80.11:8443/

    

azkaban任务失败写入mysql azkaban mysql_sql_47

 

创建组

       

azkaban任务失败写入mysql azkaban mysql_mysql_48

      

azkaban任务失败写入mysql azkaban mysql_sql_49

       

azkaban任务失败写入mysql azkaban mysql_mysql_50

上传工作流

 

                                

azkaban任务失败写入mysql azkaban mysql_hadoop_51

 

 

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_52

     

azkaban任务失败写入mysql azkaban mysql_azkaban任务失败写入mysql_53

       

azkaban任务失败写入mysql azkaban mysql_hadoop_54