大数据技术之_14_Oozie学习_Oozie 的简介+Oozie 的功能模块介绍+Oozie 的部署+Oozie 的使用案列

Apache Oozie 是一个用于管理和协调 Hadoop 生态中的工作流任务的开源框架。本文详细介绍了 Oozie 的核心功能,包括 Workflow、Coordinator 和 Bundle Job,并逐步展示了 Oozie 的部署过程,涉及 CDH 版本的 Hadoop 集群安装与配置。此外,还通过四个实例探讨了 Oozie 的实际应用,包括调度 Shell 脚本、逻辑调度多个 Job、MapReduce 任务和周期性任务。最后,列举了 Oozie 使用过程中可能遇到的问题及解决策略。
摘要由CSDN通过智能技术生成

第1章 Oozie 的简介

  Oozie 英文翻译为:驯象人。一个基于工作流引擎的开源框架,由 Cloudera 公司贡献给 Apache,提供对 Hadoop MapReduce、Pig Jobs 的任务调度与协调。Oozie 需要部署到 Java Servlet 容器中运行。主要用于定时调度任务,多任务可以按照执行的逻辑顺序调度。

第2章 Oozie 的功能模块介绍

2.1 模块

  1. Workflow
      顺序执行流程节点,支持 fork(分支多个节点),join(合并多个节点为一个)。
  2. Coordinator
      定时触发 Workflow。
  3. Bundle Job
      绑定多个 Coordinator。

2.2 常用节点

  1. 控制流节点(Control Flow Nodes)
      控制流节点一般都是定义在工作流开始或者结束的位置,比如:start、end、kill 等。以及提供工作流的执行路径机制,比如:decision、fork、join 等。
  2. 动作节点(Action Nodes)
      负责执行具体动作的节点,比如:拷贝文件,执行某个Shell脚本等等。

第3章 Oozie 的部署

3.1 部署 Hadoop(CDH版本的)

3.1.1 解压缩 CDH 版本的 hadoop

先将

hadoop-2.5.0-cdh5.3.6.tar.gz
oozie-4.0.0-cdh5.3.6.tar.gz
ext-2.2.zip
cdh5.3.6-snappy-lib-natirve.tar.gz

拷贝至 Linux 的 /opt/software目录下
解压 CDH 版本的 hadoop 至 /opt/module/cdh 目录下
解压 oozie 至 /opt/module/ 目录下

[atguigu@hadoop102 software]$ tar -zxf hadoop-2.5.0-cdh5.3.6.tar.gz -C /opt/module/cdh/
[atguigu@hadoop102 software]$ tar -zxf oozie-4.0.0-cdh5.3.6.tar.gz -C /opt/module/
3.1.2 修改 CDH 版本的 Hadoop 配置


详情如下:

[atguigu@hadoop102 hadoop]$ vim hadoop-env.sh
[atguigu@hadoop102 hadoop]$ vim mapred-env.sh
[atguigu@hadoop102 hadoop]$ vim yarn-env.sh

这三个文件都增加JAVA_HOME
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144

core-site.xml

        <!-- 指定HDFS中NameNode的地址 -->
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop102:8020</value>
        </property>
        
        <!-- 指定Hadoop运行时产生文件的存储目录 -->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/module/cdh/hadoop-2.5.0-cdh5.3.6/data/tmp</value>
        </property>
        
        <!-- Oozie Server的Hostname -->
        <property>
                <name>hadoop.proxyuser.atguigu.hosts</name>
                <value>*</value>
        </property>
        <!-- 允许被Oozie代理的用户组 -->
        <property>
                <name>hadoop.proxyuser.atguigu.groups</name>
                <value>*</value>
        </property>

hdfs-site.xml

        <!-- 指定HDFS副本的数量,默认是3个,学习阶段设置为1个 -->
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        
        <!-- 指定Hadoop辅助名称节点主机配置 -->
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>hadoop104:50090</value>
        </property>

mapred-site.xml

        <!-- 指定MR运行在YARN上 -->
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        
        <!-- 历史服务器端地址 -->
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>hadoop102:10020</value>
        </property>
        
        <!-- 历史服务器web端地址 -->
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>hadoop102:19888</value>
        </property>

yarn-site.xml

        <!-- Reducer获取数据的方式 -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        
        <!-- 指定YARN的ResourceManager的地址 -->
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop103</value>
        </property>
        
        <!-- 日志聚集功能使能 -->
        <property>
                <name>yarn.log-aggregation-enable</name>
                <value>true</value>
        </property>
        
        <!-- 日志保留时间设置7天 -->
        <property>
                <name>yarn.log-aggregation.retain-seconds</name>
                <value>604800</value>
        </property>
        
        <!-- 指定yarn在启动的时候的内存大小 -->
        <property>
                <name>yarn.scheduler.maximum-allocation-mb</name>
                <value>2048</value>
        </property>
        <property>
                <name>yarn.scheduler.minimum-allocation-mb</name>
                <value>2048&l
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值