① 环境准备: azkaban web端和server端能正常启动,并且正常登录,安装参考上篇
azkaban安装(Linux环境)_江湖峰哥的博客-优快云博客② 邮箱配置主要配置邮箱发送端,并且只需要配置web端即可
③ 注意踩坑,azkaban3.9.0.0这个版本无法使用smtps协议发送邮件,源码如下:
public class JavaxMailSender { public static final String PROTOCOL = "smtp"; private final Session session; private final SMTPTransport t; public JavaxMailSender(final Properties props) throws NoSuchProviderException { this.session = Session.getInstance(props, null); this.t = (SMTPTransport) this.session.getTransport(PROTOCOL); } ......最终调用azkaban-3.90.0/azkaban-common/src/main/java/azkaban/utils/JavaxMailSender类中下SMTPTransport的当前实例去建立连接,发送消息,而源码
this.t = (SMTPTransport) this.session.getTransport(PROTOCOL);这句代码看得我一脸懵逼,框架默认注入了pop3s,pop3,smtps,imaps不同协议的不同Provider实例,通过传入不同的protocol返回不同的实现,源码是将实例缓存在hashtable中,因为这里写死了protocol为smtp,所以无论怎么配置都只能使用25端口通过smtp协议发送邮件,而一般的云服务器都将25端口禁用掉了,这里做过测试,阿里云主机,25端口虽然能telnet通,但是邮件始终发送不出去,还有一点注意踩坑,源码如下:
public class EmailMessageCreator { public static final int DEFAULT_SMTP_PORT = 25; private final String mailHost; private final int mailPort; private final String mailUser; private final String mailPassword; private final String mailSender; private final String tls; private final boolean usesAuth; @Inject public EmailMessageCreator(final Props props) { this.mailHost = props.getString("mail.host", "localhost"); this.mailPort = props.getInt("mail.port", DEFAULT_SMTP_PORT); this.mailUser = props.getString("mail.user", ""); this.mailPassword = props.getString("mail.password", ""); this.mailSender = props.getString("mail.sender", ""); this.tls = props.getString("mail.tls", "false"); this.usesAuth = props.getBoolean("mail.useAuth", true); }邮件配置参数通过EmailMessageCreator注入并向后传递,但是该类中并没有打算接收protocol的属性配置,所以即使配置了这里也获取不到,所以需要修改源代码两处:
伪代码: public class EmailMessageCreator { public static final int DEFAULT_SMTP_PORT = 25; private final String mailHost; private final int mailPort; private final String mailUser; private final String mailPassword; private final String mailSender; private final String protocol; // 增加protocol属性 private final String tls; private final boolean usesAuth; @Inject public EmailMessageCreator(final Props props) { this.mailHost = props.getString("mail.host", "localhost"); this.mailPort = props.getInt("mail.port", DEFAULT_SMTP_PORT); this.mailUser = props.getString("mail.user", ""); this.mailPassword = props.getString("mail.password", ""); this.protocol = props.getString("mail.transport.protocol", "smtp"); // 通过配置文件注入属性,key为mail.transport.protocol,默认值为smtp this.mailSender = props.getString("mail.sender", ""); this.tls = props.getString("mail.tls", "false"); this.usesAuth = props.getBoolean("mail.useAuth", true); } ...... } 伪代码: public class JavaxMailSender { public static final String PROTOCOL = "smtp"; private final Session session; private final Transport t; // 用顶级父类接收 public JavaxMailSender(final Properties props) throws NoSuchProviderException { this.session = Session.getInstance(props, null); this.t = this.session.getTransport(props.getProperty("mail.transport.protocol",PROTOCOL)); // 通过传入的参数获取要返回的实例,没传入就使用默认值 }④ 参考上篇的安装,重新编译源码
⑤ 添加配置文件
# mail settings 这里配置的是邮件发送方属性 mail.transport.protocol=smtps mail.sender=123456@163.com mail.host=smtp.163.com mail.port=465 #可以不配,smtps协议默认端口465 mail.user=123456@163.com mail.password=abcdef #这里是不同邮箱官方给的授权码,不是邮箱登录密码,怎么获取自己查资料 mail.useAuth=true #mail.tls=true //这里要么不配置,要么为false,配置为true,邮件发送不出去⑥ 以为万事大吉,其实还没有,你还有可能遇到下面的坑,跟jdk版本和平台有关
windows[jdk1.8]: openjdk\jre\lib\security\java.security
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, \
EC keySize < 224, 3DES_EDE_CBC, anon, NULLlinux[jdk1.8]: jdk1.8.0_301/jre/lib/security/java.security
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurveslinux平台jdk将TLSv1, TLSv1.1加密算法禁用了,所以导致使用smtps协议无法正常使用,解决办法将TLSv1, TLSv1.1这两种算法干掉,表示启用这两种算法
⑦ source一下环境变量,重新启动azkaban服务,接下来去测试邮件服务,不出意外就能成功了!祝您好运!!!!
相关推荐
嵌入式系统存储体系
主要分为三种:高速缓存(cache)、主存和外存。
Azkaban安装部署&邮箱配置详细教程
一、环境信息 系统:centos7+ mysql:5.7+ azkaban:3.77.0 安装方式:编译安装 二、介绍 Azkaban是LinkedIn开源的任务调度框架,用于调度任务,常用于大数据离线任务调度。 例如:每天晚上1:00定时执行ELT任务。 三、架构分析 Relational Database:存储元数据,如项目名称、项目描述、项目权限、任务状态、SLA规则等。 Azkab...
FPGA波束形成:从算法到硬件的艺术之旅
本文深入探讨了FPGA在波束形成技术中的应用,从算法原理到Verilog硬件实现的全过程。文章详细分析了FPGA并行处理、低延迟和可重构特性如何优化波束形成系统性能,并提供了Verilog关键模块代码示例和资源优化策略,为工程师实现高效FPGA波束形成解决方案提供实用指导。
Azkaban配置邮箱报警(QQ邮箱)
与DW(data warehouse)相关的任务流从头到尾的执行时间均较长,短时间内无法全部完成,一旦某个环节出现问题,如果工作人员没有及时发现并重跑,对数据后续的影响较大,所以需要配置自动报警。最近在学ETL工具kettle,发现kettle中的作业也有邮箱报警功能,和Azkaban的方式大同小异,还好之前学过Azkaban,回过头来整理一遍。分为Failure Emails(失败的邮件)和Success Emails(成功的邮件)填入任一一个邮箱,可以与发件的邮箱地址相同。验证后保存第三方授权码。
如何缩减layout电路面积?减少晶体管的数量——以全加器为例【VLSI】
How to reduce the number of transistors to reduce circuit area? -- Take the Binary Full Adder as an example 优化面积的方法 1. 减少晶体管的数量 2. 改变gate matrix的布局
【Python】SimpleITK使用笔记
1. 概念 1.1 nii格式 1.2 SimpleITK 1.3 SimpleITK 图像 2. 基本操作 2.1 常见属性 2.1 读取和保存图像 2.2 SimpleITK图像数据和Numpy矩阵数据之间的转换
azkaban邮件自定义详解
注:本人只安装过3.9和2.5,文章中也只会说明这两个版本 1、准备工作 github上下载对应版本的源码,如果不是最新版则需要在README.md文件点击超链接跳转的历史版本下载页面 2.5编译用的是ant,3.9编译用的是gredle(基于Apache Ant和Apache Maven概念的项目自动化构建开源工具) 如果是版本是2.5则还需要再网上下载编译过后的安装包,因为我尝试了很多次都无法再本地编译,解决一个还会出现别的问题,windows和Linux都尝试了下,所以不想再浪费.
【YOLOv8/v9/v10 实战 01】YOLOv8/v9/v10全系列实战对决:性能矩阵、架构拆解与2026部署指南
2026年YOLO生态已进入“战国时代”,Ultralytics YOLOv8/11/26、阿里YOLO12、清华YOLOv10、微软YOLOv9四大路线并行发展。本文基于官方文档、学术论文及实测数据,系统剖析三大核心版本(YOLOv8/v9/v10)的架构演进逻辑,构建覆盖参数量、mAP、FPS、FLOPs的完整性能矩阵。通过8组工业场景实测、全流程代码实现(训练-导出-部署)、6类硬件适配方案,解决新手选型难、进阶者优化无门、工业开发者部署低效的痛点。
azkaban的flow文件邮件配置
在使用azkaban-flow-version: 2.0,邮件配置完成,在工作流的配置文件中配置任务失败的邮件地址 # 配置全局异常任务失败后,邮件接收联系人 config: failure.emails: lllxx@qq.com nodes: - name: noexist type: command config: command: sh /tmp/noexist.sh retries: 2 retry.backoff: 1000 在job.f
STM32实战开发(65):STM32摄像头图像采集开发教程
我们将会详细介绍如何使用STM32进行摄像头控制、图像数据采集以及如何将采集到的图像数据传输到其他设备进行处理。通过这篇博客,您将能够掌握STM32与摄像头模块的图像采集技术,应用于各种图像处理场景。为了确保STM32能够正确接收图像数据,我们需要配置STM32的GPIO引脚,并通过外部中断捕获这些信号。为了实现更高效的图像采集,可以通过DMA进行数据传输,将图像数据直接从GPIO引脚存储到内存中。通过DMA传输,我们可以将采集到的图像数据直接存储在内存中的一个缓冲区,然后进行后续的图像处理。
Week 9 10 Neural Networks
Week 9 10 Neural Networks
Azkaban邮件设置,修复Connecting to SMTP server failed
Azkaban邮件设置 解决 [Azkaban] Connecting to SMTP server failed,javax.mail.MessagingException: Exception reading response; java.net.SocketTimeoutException: Read timed out 一、邮件配置 vim azkaban-web-server/conf/azkaban.properties mail.sender=******@qq.com mail.host=
Windows Docker + RK3588 部署 YOLO26-Pose 人体姿态检测
YOLO26-Pose 在 RK3588 上的部署流程是 Windows Docker 容器内 ONNX 导出 → RKNN 转换(INT8 量化)→ ADB 推送 → 板端 C++ 推理。YOLO26n-Pose 在 640 输入下全链路约 55 FPS,可以覆盖实时姿态检测需求。先在板端用单张图片验证关键点输出正确性,确认 C++ 后处理的解析逻辑无误后,再切换到摄像头实时推理。
azkaban3.90.0安装部署
azkaban3.90.0安装部署 写在前面 我采用第三种模式,即一台机器安装webServer服务,多台机器安装execServer.这种模式是使用最广泛的。 1 solo-server模式 (使用内置h2存储元数据); 2 two-server模式 (1个webServer,1个execServer在同一服务器上,使用mysql存储元数据); 3 multiple-executor模式 (1个webServer,多个execServer分布在不同服务上,使用mysql存储元数据); 基础环境 My
OV9734 DATASHEET,完整规格书
OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等
win10 跳过U8环境检测的IE WebControls.rar
win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。
Azkaban其二,具体使用以及告警设置
Azkaban的使用方式详解以及报警设置
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
Azkaban配置定时任务与异常邮箱报警
一、定时执行 需求:JobA每间隔1分钟执行一次; 具体步骤: 1)Azkaban可以定时执行工作流。在执行工作流时候,选择左下角Schedule 2)右上角注意时区是上海,然后在左面填写具体执行事件,填写的方法和crontab配置定时任务规则一致。 3)观察结果 4)删除定时调度 点击remove Schedule即可删除当前任务的调度规则。 二、邮件报警案例 2.1 注册邮箱 1)申请注册一个126邮箱 2)点击邮箱账号=》账号管理 3)开启SMTP服务 4)一定要记住授权码 2.2
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
azkaban配置邮件预警
配置层面 1. apache平台 只需在azkaban-web/conf/azkaban.properties配置文件中添加邮箱配置即可 2. CDH平台 CDH平台由于云平台禁用了smtp的25端口,所以需要将配置的端口换成465,同时需要改动azkaban源码 1. azkaban源码编译 1.停止服务 2.备份原文件 3.修改azkaban-common/src/main/java/azkaban/utils/EmailMessage.java 文件头引入包:import java.securi
Azkaban的介绍、安装与使用
本文介绍了工作流调度器Azkaban的安装部署与实战应用。首先阐述了工作流调度的必要性及常见系统对比,重点分析了Azkaban与Oozie的特性差异。接着详细说明了Azkaban的安装步骤,包括Web/Executor服务器配置、SSL证书生成、数据库初始化及环境变量设置。最后通过5个实战案例(基础命令、多任务依赖、HDFS操作、MapReduce任务和Hive脚本执行)演示了Azkaban的核心功能。该调度系统具有轻量级、配置简单和Web界面友好等特点,适合Hadoop生态中的任务调度需求。
Azkaban(四):进阶案例-邮箱报警案例
(4)将email.flow和azkaban.project文件以zip格式压缩打包。(3)创建并编写email.flow和azkaban.project文件。设置成功或者失败时要发送到的邮箱。(2)重启web-server。(3)获取授权码(只显示一次)(5)web server操作。(1)注册126邮箱;(2)开启SMTP服务。
Azkaban 配置
下载地址:http://azkaban.github.io/downloads.html a) azkaban-web-server-2.5.0.tar.gz b) azkaban-executor-server-2.5.0.tar.gz c) azkaban-sql-script-2.5.0.tar.gz d) mysql-libs.zip 2) 选择 Mysql 作为 Azkaban 数据库,...
azkaban的安装和配置
前提 linux环境 安装mysql 一个邮箱,必须有授权码的密码 Java开发环境(JAVA环境变量必须设置检查:javajavac) 编译和解压 1.克隆项目 $gitclonehttps://github.com/azkaban/azkaban.git 2.进入azkaban目录 $cdazkaban $ gitcheckout版本号 #版本...
搭建azkaban
一、下载azkaban包 https://github.com/azkaban/azkaban/releases选择tar.gz下载 二、修改jdk配置 可能会遇上这种问题,需要修改jdk配置 下载 https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html 下载解压后把文件夹UnlimitedJCEPolicyJDK8里的local_policy.jar和US_export_po..
azkaban使用--邮件发送配置
前置条件:你的服务器是可以连外网。 当任务是异步定时的,我们对于结果的感知往往没有手动跑脚本那么及时,但是如果任何一个任务运行失败可能都会引起一些列问题,在这个情况下消息通知就很重要了,azkaban支持邮件通知任务执行情况 1.配置$HOME_AZKABAN/azkaban-web-server/conf>vi azkaban.properties # mail setting...
Azkaban 深度探索:Flow 2.0、报警机制与脚本优化
Azkaban 是一个强大的任务调度和编排工具,它可以帮助我们轻松地管理和执行各种复杂的任务。本文将深入探讨 Azkaban 的 Flow 2.0 用法、报警机制以及脚本优化问题,并通过实际案例和代码演示来帮助读者更好地理解和应用 Azkaban。
Azkaban3.57.0安装以及简单使用
1.为啥什么要使用WorkFlow? 生产中ETL、以及HIve sql等作业都是通过shell命令触发运行的,我们知道Linux有自带的Crontab调度器,通过它可以进行简单作业的调度,但是对于一些依赖的作业,比如作业B依赖于作业A完成后才能开始,这是Crontab很难去配置了,因为配置Crontab人根本不知道作业具体是何时完成的,全凭经验感觉,这是不可取的。此时我们需要Work Flow来...
Azkaban使用总结
Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。 下面我们先来看一下azkaban的安装和配置。 安装&配置solo server mode solo server mode 使用的内嵌的H2 DB,所有的web server和executor server运行在一个相同的进程中,该种模式适合测试或者任务调度规模比较...
2265



被折叠的 条评论
为什么被折叠?



