最近在学ETL工具kettle,发现kettle中的作业也有邮箱报警功能,和Azkaban的方式大同小异,还好之前学过Azkaban,回过头来整理一遍
1.报警的重要性
与DW(data warehouse)相关的任务流从头到尾的执行时间均较长,短时间内无法全部完成,一旦某个环节出现问题,如果工作人员没有及时发现并重跑,对数据后续的影响较大,所以需要配置自动报警。azkaban自带的报警方式就是邮件报警。
2.注册邮箱
学习或者测试阶段至少需要一个邮箱
3.修改邮箱权限
以QQ邮箱为例
(1)设置
老版本QQ邮箱在左上角进入设置
在账号中找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启SMTP服务
(2)邮箱验证
验证后保存第三方授权码
4.修改azkaban配置
(1)修改properties文件
vim /opt/module/az/az-web/conf/azkaban.properties
添加或修改以下内容
mail.sender=759668916@qq.com
#这里设置发送邮件的邮箱
mail.host=smtp.qq.com
#不同品牌的邮箱的smtp地址各不相同,可以自行搜索
mail.user=759668916@qq.com
#与sender相同
mail.password=vubimoawrvszbcci
#这里的password是刚才验证获得的授权码
(2)重启azkaban的WebServer
cd /opt/module/az/az-web
bin/shutdown-web.sh
bin/start-web.sh
5.配置任务流
在该页面点击Notification
在右侧对收件人邮箱进行配置
分为Failure Emails(失败的邮件)和Success Emails(成功的邮件)
填入任一一个邮箱,可以与发件的邮箱地址相同
6.验证
在执行任务流之后
收件邮箱中收到了任务成功的邮件