Azkaban理论知识:简介-产生背景-架构-部署模式-与Oozie对比

本文主要是介绍Azkaban理论知识:简介-产生背景-架构-部署模式-与Oozie对比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、简介
  • 二、产生背景
  • 三、架构
  • 四、部署模式
  • 五、与Oozie的对比
  • 六、若任务挂了怎么办?

一、简介

Azkaban 是一个任务调度器,用于 运行Hadoop作业的 批处理工作流 的 作业调度。

二、产生背景

大数据的计算、分析和处理,一般都是由多个任务单元组成的,且多个任务单元之间存在强依赖关系。
上游任务成功执行完毕,下游任务 拿到上游的结果后 才能开始执行。
为了保证处理结果的有效性和精确性,就必须让任务严格按照上下游关系有序的、顺序的执行。
最简单的解决方式是:事先预估好每个模块执行所需要的时间,以时间段规划执行顺序。
但是,当面对突然激增的数据量时,某个单元未必能按时完成,就会对下游任务造成影响。
为了更好的结果这个问题,工作流调度系统应用而生,Azkaban就是其中一种。

三、架构

在这里插入图片描述
MySQL服务器: 存储元数据。
WebServer : 对外提供Web服务,用户可通过Web页面进行管理。
ExecutorServer:负责具体的工作流的提交、执行。

四、部署模式

单机模式
WebServer 和 ExecutorServer 运行在同一个进程中,进程名为 AzkabanSingleServer。
使用自带的H2数据库。
一般用来学习和测试。

远程模式
WebServer 和 ExecutorServer 运行在不同的进程中。
使用 MySQL数据库。

集群或分布式模式
WebServer 和 ExecutorServer 运行在不同的机器中,拥有多个ExecutorServer 。
使用 MySQL数据库。

五、与Oozie的对比

Oozie (训象人)
是一个基于 工作流引擎的开源框架,调度的是MapReduce,需要部署到 Java Servlet 中运行。
主要用于定时调度,多任务之间按照逻辑顺序进行调度。
是一个重量级的任务调度系统,虽然功能全面,但是部署和配置麻烦。

Azkaban
用于 在一个 工作流内 以特定的顺序执行一组工作和流程。
介于Oozie和Crontab之间的工具,安全性弱于Oozie。

若出现失败的情况,Azkaban会丢失所有工作流,但Oozie 可以继续运行。

六、若任务挂了怎么办?

不论任务运行成功还是失败,都会通过邮件、钉钉、短信、企业微信、电话等途径发出通知。
若任务失败了,主要解决方案是重新跑

这篇关于Azkaban理论知识:简介-产生背景-架构-部署模式-与Oozie对比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/267649

相关文章

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav

Go语言实现桥接模式

《Go语言实现桥接模式》桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立地变化,本文就来介绍一下了Go语言实现桥接模式,感兴趣的可以了解一下... 目录简介核心概念为什么使用桥接模式?应用场景案例分析步骤一:定义实现接口步骤二:创建具体实现类步骤三:定义抽象类步骤四:创建扩展抽象类步

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

C++ scoped_ptr 和 unique_ptr对比分析

《C++scoped_ptr和unique_ptr对比分析》本文介绍了C++中的`scoped_ptr`和`unique_ptr`,详细比较了它们的特性、使用场景以及现代C++推荐的使用`uni... 目录1. scoped_ptr基本特性主要特点2. unique_ptr基本用法3. 主要区别对比4. u

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

Java多种文件复制方式以及效率对比分析

《Java多种文件复制方式以及效率对比分析》本文总结了Java复制文件的多种方式,包括传统的字节流、字符流、NIO系列、第三方包中的FileUtils等,并提供了不同方式的效率比较,同时,还介绍了遍历... 目录1 背景2 概述3 遍历3.1listFiles()3.2list()3.3org.codeha

CPython与PyPy解释器架构的性能测试结果对比

《CPython与PyPy解释器架构的性能测试结果对比》Python解释器的选择对应用程序性能有着决定性影响,CPython以其稳定性和丰富的生态系统著称;而PyPy作为基于JIT(即时编译)技术的替... 目录引言python解释器架构概述CPython架构解析PyPy架构解析架构对比可视化性能基准测试测

C++中的解释器模式实例详解

《C++中的解释器模式实例详解》这篇文章总结了C++标准库中的算法分类,还介绍了sort和stable_sort的区别,以及remove和erase的结合使用,结合实例代码给大家介绍的非常详细,感兴趣... 目录1、非修改序列算法1.1 find 和 find_if1.2 count 和 count_if1