数据仓库任务调度器-Azkaban | 案例测试1<自动邮件报警通知机制>


一、内容说明

       此文章主要向大家演示在大数据项目中使用Azkaban作为任务调度器的时候,当任务发生错误和失败,又或者任务执行成功时怎么部署实现Azkaban自动发送邮件通知项目负责人,在这篇文章中我将126邮箱交给Azkaban使用,作为自动报警机制的发件人,而使用qq邮箱作为项目执行者接收Azkaban的报警信息。
       接下来,我将为大家一步一步的讲解,如果对您有用,感谢一键三连。

二、准备工作

  1. 安装Azkaban
    教程:点击此链接,文章中有详细的安装教程!
  2. 注册好一个126邮箱、qq邮箱也可以实现邮件报警通知,因为我这里是将126邮箱交由azkaban就行管理,且在后期的电话报警机制中qq邮箱无法使用,所以我注册了一个126邮箱。

三、配置邮箱报警机制

1.配置发件人邮箱

由于我们需要将发件人邮箱交给azkaban这个第三方平台进行使用,因此我们需要将126邮箱的SMTP设置为开启状态,且保存它给出的授权码,这个授权码我们将会配置到azkaban-web的azkaban.properties文件中,作为Azkaban使用邮箱的认证信息。

  1. 打开126邮箱
    在这里插入图片描述

  2. 打开设置,点击SMTP
    在这里插入图片描述

  3. 将POP3/SMTP服务设置为开启状态

    • 1 .点击设置开启
      在这里插入图片描述

    • 2 .手机扫码,使用注册邮箱的手机号发送短信

    • 3 .获得授权码

    注意:一定要将授权码进行保存,不然后面又要重新操作一次,此授权码在配置azkaban-web中需要使用,不然无法实现azkaban邮件报警功能

2.配置azkaban-web

  1. 配置Azkaban发送邮件报警功能
    修改/azkaban/azkaban-web/conf目录下的azkaban.properties文件,配置邮件发送机制 ,mail.sender和mail.host在文件中已有,我们还需要在文件中添加mail.user= 和 mail.password=

    mail.sender=xuxiang_ethan@126.com
    mail.host=smtp.126.com
    mail.user=xuxiang_ethan@126.com
    mail.password=此处填写邮箱授权码
    

    注意: sender为发件人邮箱,host为邮箱smtp的服务器地址,其中user为发送者邮箱地址,password为前面开启SMTP时的授权码

    退出并保存azkaban.properties文件,启动Azkaban-exec,激活Azkaban-exec,且启动Azkaban-web,如果已经启动了Azkaban-exec的只需要重新启动Azkaban-web即可

3.编写案例进行测试

需求:
JobA执行shell脚本JobA.sh
JobB执行shell脚本JobB.sh
JobC执行shell脚本JobC.sh

  • 1.在windows本地编写三个shell脚本如下

    #! /bin/bash
    echo "I am JobA"
    
    #! /bin/bash
    echo "I am JobB"
    
    #! /bin/bash
    echo "I am dependence JobA and JobB"
    

    编写mail.project文件

    azkaban-flow-version: 2.0
    
    • 2.编写mail.flow文件
    nodes: 
        - name: JobA
          type: command
          config: 
            command: sh JobA.sh 
    
        - name: JobB
          type: command
          config: 
            command: sh JobB.sh
    
        - name: JobC
          type: command
          dependsOn:
            - JobA
            - JobB
          config:
            command: sh JobC.sh 
    

演示Azkaban任务发生错误时报警

    1. 将JobA.sh、JobC.sh以及mail.project、mail.flow放在一个文件夹中,并将文件夹打包为zip压缩包,注意:此处故意没有将JobB.sh放入文件夹,故意产生错误,展示效果
      在这里插入图片描述
      压缩包
      在这里插入图片描述
    1. 进入azkaban-web的页面进行登录,用户名和密码在前面的安装中有详细说明,在azkaban-web/conf/azkaban-users.xml中
      在这里插入图片描述
    1. 创建项目 在azkaban中创建调度作业项目
    1. 上传压缩包
      在这里插入图片描述
    1. 点击Executor Flow查看任务流程图
      在这里插入图片描述
      在这里插入图片描述
    1. 点击左侧的 Notification 配置邮件报警的收件邮箱
      在这里插入图片描述
    1. 填写报警收件人邮箱地址
      在这里插入图片描述
    1. 点击右下角的executor执行任务调度
    1. 任务执行失败,且在我的右下角可以看到由邮箱弹出
      在这里插入图片描述
    1. 邮箱内容
      Execution ‘8’ of flow ‘mail’ of project ‘mail’ has failed on Test
      说明任务发生错误
      在这里插入图片描述

总结

至此,Azkaban的报警的整个部署流程就弄好了,任务执行成功的话同样的操作,只需要Job任务以及所需要的shell文件都正确即可!!
若有写得不明之处还望海涵。感谢关注,感谢点赞

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

似懂非dong

你的肯定使我加倍努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值