高可用Hadoop平台-Oozie工作流


1.概述

  在开发Hadoop的相关应用使用,在业务不复杂,任务不多的情况下,我们可以直接使用Crontab去完成相关应用的调度。今天给大家介绍的是统一管理各种调度任务的系统,下面为今天分享的内容目录:

  • 内容介绍
  • Oozie Server
  • 截图预览

  下面开始今天的内容分享。

2.内容介绍

  今天的内容不涉及Oozie的具体细节操作,它的工作流程在下一篇博客为大家详细介绍。今天主要给大家分享Oozie的作用,它的集成步骤等内容。

2.1 作用

  Oozie它是一个开源的工作流调度系统,它可以管理逻辑复杂的多个Hadoop作业任务,按照指定的顺序将其进行协同工作。比如说,我们日常的工作场景:

  1. 收集数据到HDFS
  2. 编写MR去清洗数据,生成新的数据存放到指定的HDFS路径下
  3. 创建Hive表分区,并加载数据到对应的表分区
  4. 使用HQL进行业务指标统计,并将统计的结果输出到对应的Hive大表当中
  5. 对统计后的大表当中的数据进行数据导出共外界业务去调用使用

  通过上述的日常工作流程,我们可以编写工作流系统,生成一个工作流实例,然后每天定时去运行实例即可。针对这样一种Hadoop的应用场景,Oozie能够简化我们的任务调度并执行。

2.2 基础环境

  本次给大家分享的基础环境是:

Name   Value
操作系统 CentOS6.6
工作流 Oozie4.2
Hadoop 2.6

  

 

 

 

  以上便是本篇博客需依赖的基础环境。另外还需要用到JDK,Maven,MySQL驱动文件等。

3.Oozie Server

  Oozie Server能够为我们提供便捷的Job管理功能,可以通过其可视化界面去管理Job的运行状态,当然也支持构建复杂的Hadoop Job流程,各个Job之间的依赖关系可以通过工作流进行配置,由Oozie Server统一去执行。

3.1 依赖包准备

  • Maven

  下载安装Maven环境,命令如下所示:

相关内容