作业流 oozie调度框架的配置与使用(一)

  • 一: 常见的调度框架
  • 一: oozie 概述与功能
  • 二: oozie 安装与配置

一: 常见的作用调度框架

1.1 linux 下面的计划任务

在工作量比较下的情况下 使用linux 下的crond 使用定制计划任务

*   *   *   *   *    后面接调度 job 的命令 

分  时 日  月  周

hive  -e " "  执行一个sql 命令

hive  -f " "  执行一个sql 脚本

结合 crond 使用

1.2 常见的协作调度框架:

1.2.1 Azkaban 框架

参考资料
http://blog.csdn.net/jinshuaiwang/article/details/40426743

https://azkaban.github.io/

1.2.2 oozie 框架

官网:
http://oozie.apache.org/

1.2.3 Zeus 框架 (淘宝开源框架)

https://github.com/michael8335/zeus2

二:oozie 概述与功能

2.1 oozie 概述与功能


  2.1.1 一个基于工作流引擎的开源框架,是由Cloudera公司贡献给Apache的,它能够提供对Hadoop MapReduce和Pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。  

 2.1.2 Oozie工作流定义,同JBoss jBPM提供的jPDL一样,也提供了类似的流程定义语言hPDL,通过XML文件格式来实现流程的定义。对于工作流系统,一般都会有很多不同功能的节点,比如分支、并发、汇合等等。

 2.1.3 Oozie定义了控制流节点(Control Flow Nodes)和动作节点(Action Nodes),其中控制流节点定义了流程的开始和结束,以及控制流程的执行路径(Execution Path),如decision、fork、join等;而动作节点包括Hadoop map-reduce、Hadoop文件系统、Pig、SSH、HTTP、eMail和Oozie子流程。

2.2 oozie 简易架构

2.3 oozie 的三种引擎

 Workflow:顺序执行流程节点
 Coordinator:定时触发workflow
 Bundle Job:绑定多个coordinator

2.3.1 workflow 架构

2.3.2 Oozie coordinator生命周期

2.3.3 Bundle Job

2.4 oozie server 组建:


三: oozie 的安装与配置:

3.1 安装oozie-4.0.0-cdh-5.3.6.tar.gz

tar -zxvf oozie-4.0.0-cdh-5.3.6.tar.gz
mv oozie-4.0.0.-cdh-5.3.5-bin yangyang/oozie

3.2 配置oozie 与hadoop 整合

编辑core-site.xml 增加:

 <property>
    <name>hadoop.proxyuser.hadoop.hosts</name>
    <value>namenode01.hadoop.com</value>
 </property>
 <property>
    <name>hadoop.proxyuser.hadoop.groups</name>
    <value>*</value>
 </property>

3.3 解压oozie 的lib 包

cd /home/hadoop/yangyang/oozie
tar -zxvf oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz
cd oozie-4.0.0-cdh5.3.6/
mv hadooplibs /home/hadoop/yangyang/oozie/

3.4 创建libext 文件与上传ext 文件

cd /home/hadoop/yangyang/oozie

mkdir libext

cd /home/hadoop/yangyang/oozie/hadooplibs/hadooplib-2.5.0-cdh5.3.6.oozie-4.0.0-cdh5.3.6

cp -p * /home/hadoop/yangyang/oozie/libext 

cd /home/hadoop/yangyang/oozie/libext

rz ext-2.2.zip

3.5 安装mysql 数据库并生成mysql数据表

安装mysql 与拷贝驱动包
yum install mysql  (之前已经安装)

cd /home/hadoop/mysql-connector-java-5.1.27

cp -p mysql-connector-java-5.1.27-bin.jar /home/hadoop/yangyang/oozie/lib/

cp -p mysql-connector-java-5.1.27-bin.jar /home/hadoop/yangyang/oozie/libext/

更改oozie 的配置文件oozie-site.xml 文件

cd /home/hadoop/yangyang/oozie/conf

与mysql 关联处理

<property>
        <name>oozie.service.JPAService.jdbc.driver</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>

    <property>
        <name>oozie.service.JPAService.jdbc.url</name>
        <value>jdbc:mysql://namenode01.hadoop.com:3306/oozie</value>
    </property>
    <property>
        <name>oozie.service.JPAService.jdbc.username</name>
        <value>root</value>
    </property>
    <property>
        <name>oozie.service.JPAService.jdbc.password</name>
        <value>123456</value>
    </property>
      <property>
        <name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
        <value>*=/home/hadoop/yangyang/hadoop/etc/hadoop</value>
    </property>

在mysql上面创建oozie 数据库

mysql -uroot -p123456

create database oozie;

执行oozie 命令生成数据:

bin/oozie-setup.sh db create -run oozie.sql

在mysql查看数据表

3.6 用setup命令 生产war 包

bin/oozie-setup.sh prepare-war


3.7 把当前的目录包上传到hdfs 上面

修改oozie-site.xml 

---
<property>
        <name>oozie.service.WorkflowAppService.system.libpath</name>
        <value>/user/oozie/share/lib</value>
    </property>
bin/oozie-setup.sh sharelib create -fs hdfs://namenode01.hadoop.com:8020 -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz

3.8 启动oozie

bin/oozied.sh start

3.9 访问测试:

http://192.168.3.8:11000

在hdfs查看lib 包


原文地址:http://blog.51cto.com/flyfish225/2097342

时间: 2024-10-28 22:41:42

作业流 oozie调度框架的配置与使用(一)的相关文章

作业流调度框架 oozie 使用 (二)

oozie 任务调度处理 标签(空格分隔): 协作框架 一:oozie example 运行任务调度案例 二:oozie 运行自定的mapreduce 的jar 包 三:oozie 调度shell 脚本 四:oozie 的coordinator 周期性调度当前任务 一: 运行oozie example 案例 1.1 解压exmaple包 解压example 包 tar -zxvf oozie-examples.tar.gz cd /home/hadoop/yangyang/oozie/examp

Quartz.Net 调度框架配置介绍

在平时的工作中,估计大多数都做过轮询调度的任务,比如定时轮询数据库同步,定时邮件通知等等.大家通过windows计划任务,windows服务等都实现过此类任务,甚至实现过自己的配置定制化的框架.那今天就来介绍个开源的调度框架Quartz.Net(主要介绍配置的实现,因为有朋友问过此类问题).调度的实现代码很简单,在源码中有大量Demo,这里就略过了. Quartz.Net当前最新版本 Quartz.NET 2.0 beta 1 Released 一 基于文件配置 先看一下简单的实现代码 usin

1.1-1.4 hadoop调度框架和oozie概述

一.hadoop调度框架 Linux Crontab Azkaban https://azkaban.github.io/ Oozie http://oozie.apache.org/ Zeus(阿里的) https://github.com/michael8335/zeus2 二.oozie架构 1.oozie 一个基于工作流引擎的开源框架,是由Cloudera公司贡献给Apache的,它能够提供对Hadoop MapReduce和Pig Jobs的任务调度与协调. Oozie需要部署到Jav

详解应对平台高并发的分布式调度框架TBSchedule

tbschedule是一款非常优秀的高性能分布式调度框架,非常高兴能分享给大家.这篇文章是我结合多年tbschedule使用经验和研读三遍源码的基础上完成的,期间和阿里空玄有过不少技术交流,非常感谢空玄给予的大力支持.我写这篇文章的目的一是出于对tbschedule的一种热爱,二是现在是一个资源共享.技术共享的时代,希望把它展现给大家(送人玫瑰,手留余香),能给大家的工作带来帮助. 一.tbschedule初识 时下互联网和电商领域,各个平台都存在大数据.高并发的特点,对数据处理的要求越来越高,

Oozie协作框架

Oozie协作框架 一:概述 1.大数据协作框架 2.Hadoop的任务调度 3.Oozie的三大功能 Oozie Workflow jobs Oozie Coordinator jobs Oozie Bundle 4.Oozie的架构 控制流节点 起始,分支,并发,汇合,结束 动作节点action 5.Oozie的实现 二:安装部署 1.上传 2.解压 3.配置Hadoop代理core-site.xml 4.启动Hadoop集群 5.解压hadooplib 将会生成:oozie-4.0.0-c

山寨版Quartz.Net任务统一调度框架

TaskScheduler 在日常工作中,大家都会经常遇到Win服务,在我工作的这些年中一直在使用Quartz.Net这个任务统一调度框架,也非常好用,配置简单,但是如果多个项目组的多个服务部署到一台服务器时还是不尽如人意. 这段时间很忙,也一直未更新博客了,赶上今天下班早,就研究了一下,弄了个简单版基于Timer的山寨Quartz,当然了只是实现任务调度,闲话少说直接入主题吧 一.技术准备 其实都是普通的微软技术,一想到这方我们第一想到的可能就是反射,本文用了MEF 二.框架搭建 第一我们建立

Quartz.net 开源job调度框架

Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调度作业.它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联. 整合了 Quartz.NET的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业. 官方学习文档:http://www.quartz-scheduler.net/documentation/index.html 使用实例介绍:ht

Quartz.Net任务统一调度框架

山寨版Quartz.Net任务统一调度框架 TaskScheduler 在日常工作中,大家都会经常遇到Win服务,在我工作的这些年中一直在使用Quartz.Net这个任务统一调度框架,也非常好用,配置简单,但是如果多个项目组的多个服务部署到一台服务器时还是不尽如人意. 这段时间很忙,也一直未更新博客了,赶上今天下班早,就研究了一下,弄了个简单版基于Timer的山寨Quartz,当然了只是实现任务调度,闲话少说直接入主题吧 一.技术准备 其实都是普通的微软技术,一想到这方我们第一想到的可能就是反射

异构云操作系统的集成与统一调度框架及调度方法

本发明公开的异构云操作系统的集成与统一调度框架,包括有资源收集模块.用户认证模块.统一调度模块及请求转化模块,资源收集模块.用户认证模块分别通过导线与统一调度模块连接,统一调度模块通过导线与请求转化模块连接,资源收集模块.请求转化模块分别通过导线与Elaster云操作系统.CloudStack操作系统及OpenStack操作系统连接.本发明还公开了上述集成与统一调度框架的调度方法.本发明的异构云操作系统的集成与统一调度框架解决了异构云操作之间资源无法共享,实现了对异构云操作系统的统一调度. 技术