Azkaban从安装到使用小计

1 安装

1.1 上传并解压tar包

[bigdata@worker-13 software]$ ll
-rw-rw-r--. 1 bigdata bigdata      6433 3月  13 09:51 azkaban-db-3.84.4.tar.gz
-rw-rw-r--. 1 bigdata bigdata  16175002 3月  13 09:51 azkaban-exec-server-3.84.4.tar.gz
-rw-rw-r--. 1 bigdata bigdata  20239974 3月  13 09:51 azkaban-web-server-3.84.4.tar.gz

创建存放tar包的目录

[bigdata@worker-13 software]$ mkdir /opt/module/azkaban

解压tar包

[bigdata@worker-13 software]$ tar -zxvf azkaban-db-3.84.4.tar.gz -C /opt/module/azkaban/
[bigdata@worker-13 software]$ tar -zxvf azkaban-exec-server-3.84.4.tar.gz -C /opt/module/azkaban/
[bigdata@worker-13 software]$ tar -zxvf azkaban-web-server-3.84.4.tar.gz -C /opt/module/azkaban/

修改名称

[bigdata@worker-13 software]$ cd /opt/module/azkaban/
[bigdata@worker-13 azkaban]$ mv azkaban-exec-server-3.84.4/ azkaban-exec 
[bigdata@worker-13 azkaban]$ mv azkaban-web-server-3.84.4/ azkaban-web

1.2 配置MySQL

进入azkaban-db路径,启动mysql创建一个数据库

[bigdata@worker-13 azkaban]$ cd /opt/module/azkaban/azkaban-db-3.84.4/
[bigdata@worker-13 azkaban-db-3.84.4]$ mysql -uroot -p

mysql> create database azkaban;
Query OK, 1 row affected (0.00 sec)

mysql> use azkaban;
Database changed
mysql> 

创建Azkaban表
source:在mysql中导sql脚本

mysql> source /opt/module/azkaban/azkaban-db-3.84.4/create-all-sql-3.84.4.sql
mysql> quit;

更改MySQL包大小;防止Azkaban连接MySQL阻塞
在/etc/my.cnf最后一行加上max_allowed_packet=1024M

[bigdata@worker-13 azkaban-db-3.84.4]$ sudo vim /etc/my.cnf

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

max_allowed_packet=1024M

重启mysql

[bigdata@worker-13 azkaban-db-3.84.4]$ sudo systemctl restart mysqld

1.3 配置Executor Server

[bigdata@worker-13 azkaban-db-3.84.4]$ cd /opt/module/azkaban/azkaban-exec/
[bigdata@worker-13 azkaban-exec]$ vim conf/azkaban.properties

修改如下属性

default.timezone.id=Asia/Shanghai
azkaban.webserver.url=http://worker-13:8081 
mysql.port=3306 
mysql.host=worker-13
mysql.database=azkaban 
mysql.user=root
mysql.password=123456
mysql.numconnections=100 

添加一个属性

executor.port=12321 

分发azkaban-exec到所有节点

[bigdata@worker-13 azkaban]$ xsync /opt/module/azkaban/azkabanexec

注意:我的集群配置了xsync分发脚本,如果没有配置可以用rsync或者scp拷贝到其他节点上

进入到 /opt/module/azkaban/azkaban-exec 路径,分别在三台机器上,启动executor
server

[bigdata@worker-13 azkaban]$ cd /opt/module/azkaban/azkaban-exec
[bigdata@worker-14 azkaban]$ cd /opt/module/azkaban/azkaban-exec
[bigdata@worker-15 azkaban]$ cd /opt/module/azkaban/azkaban-exec

启动azkaban-exec

[bigdata@worker-13 azkaban-exec]$ bin/start-exec.sh
[bigdata@worker-14 azkaban-exec]$ bin/start-exec.sh
[bigdata@worker-15 azkaban-exec]$ bin/start-exec.sh

如果三台机器在/opt/module/azkaban/azkaban-exec目录下出现 executor.port 文件,说明启动成功

[bigdata@worker-13 azkaban-exec]$ ll
-rw-rw-r--. 1 bigdata bigdata    5 3月  25 12:18 executor.port

激活executor

[bigdata@worker-13 azkaban-exec]$ curl "worker-13:12321/executor?action=activate" && echo
[bigdata@worker-14 azkaban-exec]$ curl "worker-14:12321/executor?action=activate" && echo
[bigdata@worker-15 azkaban-exec]$ curl "worker-15:12321/executor?action=activate" && echo

如果三台机器都显示如下则表示激活成功

{"status":"success"}

注意:azkaban executor server每次启动后都要重新激活

1.4 配置 Web Server

编辑 azkaban.properties

[bigdata@worker-13 azkaban-exec]$ cd /opt/module/azkaban/azkaban-web/
[bigdata@worker-13 azkaban-web]$ vim conf/azkaban.properties

修改如下属性

default.timezone.id=Asia/Shanghai
database.type=mysql
mysql.port=3306 
mysql.host=worker-13
mysql.database=azkaban 
mysql.user=root
mysql.password=123456
mysql.numconnections=100 azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus 

修改 azkaban-users.xml 文件,添加 bigdata 用户(根据自己的用户情况来选择)

vim conf/azkaban-users.xml

<azkaban-users>
  <user groups="azkaban" password="azkaban" roles="admin" username="azkaban"/>
  <user password="metrics" roles="metrics" username="metrics"/>
  <user password="12345678" roles="admin" username="bigdata"/>

  <role name="admin" permissions="ADMIN"/>
  <role name="metrics" permissions="METRICS"/>
</azkaban-users>

必须进入到 /opt/module/azkaban/azkaban-web 路径,启动 web server

[bigdata@worker-13 azkaban-web]$ bin/start-web.sh

访问http://worker-13:8081,并用bigdata用户登陆
在这里插入图片描述

使用

  1. 在 windows 创建 azkaban.project 文件,文件内容固定:azkaban-flow-version: 2.0

  2. 在windows 创建 basic.flow 文件,内容根据任务自己设定(下面的例子是先运行JobA,再运行JobB,最后JobC,JobC依赖与JobA、JobB)

    nodes:
      - name: jobA
        type: command
        config:
          command: echo "AAAA"
      - name: jobB
        type: command
        config:
          command: echo "BBBB"
      - name: jobC
        type: command
        config:
          command: echo "CCCC"
        dependsOn:
          - jobA
          - jobB
    

    注意:YAML语言一定要缩进,但是不能是Tab键缩进,而是空格缩进

  3. 自动失败重试

    nodes: 
      - name: JobA     
        type: command     
        config: 
          command: sh /not_exists.sh       
          retries: 3
          retry.backoff: 3000
    

    JobA失败后,执行4次(失败重试3次),每次等待3秒

  4. 定时调度
    在这里插入图片描述
    在这里插入图片描述

  5. 邮件报警
    登录邮箱、在设置、账户页面开启SMTP服务
    在这里插入图片描述
    在 azkaban-web 节点 worker-13 上,编辑 /opt/module/azkaban/azkaban-
    web/conf/azkaban.properties

    [bigdata@worker-13 ~]$ cd /opt/module/azkaban/azkaban-web/
    [bigdata@worker-13 azkaban-web]$ vim conf/azkaban.properties
    
    # Azkaban Executor settings
    # mail settings
    mail.sender=xxxxxxxx@qq.com
    mail.host=smtp.qq.com
    mail.user=xxxxxxxx@qq.com
    mail.password=kjxfhdholywdgchc
    

    注意:sender和user是自己的邮箱;如果是qq邮箱host就是smtp.qq.com,如果是其他类型邮箱则不同;password是刚才开启SMTP服务生成的授权码
    设置完后重启 web-server

    [bigdata@worker-13 azkaban-web]$ bin/shutdown-web.sh 
    Killing web-server. [pid: 7847], attempt: 1
    shutdown succeeded
    [bigdata@worker-13 azkaban-web]$ bin/start-web.sh
    

    进入到web界面,配置邮箱
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值