oozie概述:oozie能干什么
oozie格式:怎么用oozie
oozie执行:怎么运行oozie
oozie概述:
oozie是基于hadoop的调度器,以xml的形式写调度流程,可以调度mr,pig,hive,shell,jar等等。
主要的功能有
Workflow: 顺序执行流程节点,支持fork(分支多个节点),join(合并多个节点为一个)
Coordinator,定时触发workflow
Bundle Job,绑定多个coordinator
oozie格式:
写一个oozie,有两个是必要的:job.properties 和 workflow.xml(coordinator.xml,bundle.xml)
一、job.properties里定义环境变量
nameNode | hdfs://xxx5:8020 | hdfs地址 |
jobTracker | xxx5:8034 | jobTracker地址 |
queueName | default | oozie队列 |
examplesRoot | examples | 全局目录 |
oozie.usr.system.libpath | true | 是否加载用户lib库 |
oozie.libpath | share/lib/user | 用户lib库 |
oozie.wf.appication.path | ${nameNode}/user/${user.name}/... | oozie流程所在hdfs地址 |
注意:
workflow:oozie.wf.application.path
coordinator:oozie.coord.application.path
bundle:oozie.bundle.application.path
二、XML
1.workflow:
- <workflow-app xmlns="uri:oozie:workflow:0.2" name="wf-example1">
- <start to="pig-node">
- <action name="pig-node">
- <pig>
- <job-tracker>${jobTracker}</job-tracker>
- <name-node>${nameNode}</name-node>
- <prepare>
- <delete path="hdfs://xxx5/user/hadoop/appresult" />
- </prepare>
- <configuration>
- <property>
- <name>mapred.job.queue.name</name>
- <value>default</value>
- <property>
- <property>
- <name>mapred.compress.map.output</name>
- <value>true</value>
- <property>
- <property>
- <name>mapreduce.fileoutputcommitter.marksuccessfuljobs</name>
- <value>false</value>
- <property>
- </configuration>
- <script>test.pig</script>
- <param>filepath=${filpath}</param>
- </pig>
- <ok to="end">
- <error to="fail">
- </action>
- <kill name="fail">
- <message>
- Map/Reduce failed, error message[${wf:errorMessage(wf:lastErrorNode())}]
- </message>
- </kill>
- <end name="end"/>
- </workflow-app>
2.coordinator
- <coordinator-app name="cron-coord" frequence="${coord:hours(6)}" start="${start}" end="${end}"
- timezoe="UTC" xmlns="uri:oozie:coordinator:0.2">
- <action>
- <workflow>
- <app-path>${nameNode}/user/{$coord:user()}/${examplesRoot}/wpath</app-path>
- <configuration>
- <property>
- <name>jobTracker</name>
- <value>${jobTracker}</value>
- </property>
- <property>
- <name>nameNode</name>
- <value>${nameNode}</value>
- </property>
- <property>
- <name>queueName</name>
- <value>${queueName}</value>
- </property>
- </configuration>
- </workflow>
- </action>
注意:coordinator设置的UTC,比北京时间晚8个小时,所以你要是把期望执行时间减8小时
coordinator里面传值给workflow,example,时间设置为亚洲
- <coordinator-app name="gwk-hour-log-coord" frequency="${coord:hours(1)}" start="${hourStart}" end="${hourEnd}" timezone="Asia/Shanghai"
- xmlns="uri:oozie:coordinator:0.2">
- <action>
- <workflow>
- <app-path>${workflowHourLogAppUri}/gwk-workflow.xml</app-path>
- <configuration>
- <property>
- <name>yyyymmddhh</name>
- <value>${coord:formatTime(coord:dateOffset(coord:nominalTime(),-1,'HOUR'), 'yyyyMMddHH')}</value>
- </property>
- </configuration>
- </workflow>
- </action>
- </coordinator-app>
3.bundle
- <bundle-app name='APPNAME' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns='uri:oozie:bundle:0.1'>
- <controls>
- <kick-off-time>${kickOffTime}</kick-off-time>
- </controls>
- <coordinator name='coordJobFromBundle1' >
- <app-path>${appPath}</app-path>
- <configuration>
- <property>
- <name>startTime1</name>
- <value>${START_TIME}</value>
- </property>
- <property>
- <name>endTime1</name>
- <value>${END_TIME}</value>
- </property>
- </configuration>
- </coordinator>
- <coordinator name='coordJobFromBundle2' >
- <app-path>${appPath2}</app-path>
- <configuration>
- <property>
- <name>startTime2</name>
- <value>${START_TIME2}</value>
- </property>
- <property>
- <name>endTime2</name>
- <value>${END_TIME2}</value>
- </property>
- </configuration>
- </coordinator>
- </bundle-app>
oozie hive
- <action name="hive-app">
- <hive xmlns="uri:oozie:hive-action:0.2">
- <job-tracker>${jobTracker}</job-tracker>
- <name-node>${nameNode}</name-node>
- <job-xml>hive-site.xml</job-xml>
- <script>hivescript.q</script>
- <param>yyyymmdd=${yyyymmdd}</param>
- <param>yesterday=${yesterday}</param>
- <param>lastmonth=${lastmonth}</param>
- </hive>
- <ok to="result-stat-join"/>
- <error to="fail"/>
- </action>
oozie运行
启动任务:
- oozie job -oozie http://xxx5:11000/oozie -config job.properties -run
停止任务:
oozie job -oozie http://localhost:8080/oozie -kill 14-20090525161321-oozie-joe
注意:在停止任务的时候,有的时候会出现全线问题,需要修改oozie-site.xml文件
hadoop.proxyuser.oozie.groups *
hadoop.proxyuser.oozie.hosts *
oozie.server.ProxyUserServer.proxyuser.hadoop.hosts *
oozie.server.ProxyUserServer.proxyuser.hadoop.groups *
http://blackproof.iteye.com/blog/1928122
相关推荐
标题《Hadoop快速入门》所指的知识点主要集中在如何快速地学习和掌握Hadoop技术,它是一个开源的分布式存储和计算框架,是大数据处理领域的重要工具。由于内容部分文字不完整且存在OCR扫描错误,以下是对Hadoop快速...
Hue是Cloudera开发的一个开源Web用户界面,主要用于与Hadoop...但使用时需要注意一些常见的配置和错误问题,以及对Hadoop生态系统的基本了解,这样才能确保Spark作业能够顺利运行,并在出现错误时快速定位问题所在。
阿里云E-MapReduce快速入门 阿里云E-MapReduce是阿里云提供的一种大数据处理服务,基于Hadoop和Spark的分布式计算引擎,可以对大规模数据进行快速处理和分析。本资源摘要信息将指导您快速开始使用阿里云E-...
本文将详细介绍如何快速入门阿里云E-MapReduce,包括准备工作、创建集群以及集群配置等方面。 首先,要使用阿里云E-MapReduce,你需要拥有一个阿里云账号。这个账号不仅是你在阿里云生态中的身份标识,还能用于开通...
### Hadoop快速入门知识点梳理 #### 一、Hadoop概览 **1.1 Hadoop定义** - **定义**:Hadoop是Apache基金会旗下的开源软件框架,主要用于在大规模集群环境中处理和存储海量数据。 - **核心特点**:通过提供分布式...
### Flink快速入门知识点详解 #### 一、Apache Flink概述 **Apache Flink**是一个开源的分布式数据流处理框架,旨在提供高效的数据流处理能力,同时也能支持批处理任务。这一特性使得Flink能够在同一运行时环境中...
《Hadoop傻瓜入门》是一本旨在帮助读者快速掌握Hadoop使用技能的入门级图书,该书由IBM的大数据专家编写,内容以英文呈现,适用于希望深入研究HDFS和MapReduce技术以实现数据存储和处理能力提升的读者。本指南将从多...
这份"hadop入门资料集锦"包含了丰富的学习资源,可以帮助初学者快速掌握Hadoop的核心概念和技术。 一、Hadoop概述 Hadoop是Apache软件基金会开发的一个开源框架,主要用于处理和存储大量数据。它的设计思想源于...
- **Hadoop-0.20.0-HDFS+MapReduce+Hive+HBase十分钟快速入门.doc**:这与前面的快速入门文档类似,可能对Hadoop的早期版本进行了快速介绍。 - **Hbase_分析报告白皮书.doc**:这可能是一份关于HBase在某个具体场景...
《Hadoop开发者入门专刊》是一本专门为初学者设计的指南,旨在帮助读者快速掌握Hadoop生态系统的核心概念和技术。Hadoop是Apache软件基金会开发的一个开源框架,主要用于处理和存储大量数据,尤其适合大数据分析和...
第六章机器学习快速入门及应用 第七章数据挖掘标签开发(Kmens算法) 第八章算法模型调优、RFE、PSM标签开发 第九章USG标签开发 第十章多数据源配置、用户商品推荐、标签索引化(ES)、用户画像项目总结
- **Oozie**:Oozie是Hadoop的工作流调度系统,管理Hadoop作业的生命周期。 - **Impala**:Impala是针对Hadoop的数据仓库查询系统,提供快速、交互式SQL查询。 - **Solr**:Solr是Apache的搜索服务器,支持全文...
【Hadoop开发者入门专刊】是一本专门为初学者设计的Hadoop技术指南,它整合了互联网上的精华内容,旨在帮助读者快速掌握Hadoop生态系统的基本概念和应用。这本专刊涵盖了Hadoop、HBase、Hive和HDFS等多个关键组件,...
- **国内就业市场**:中国的大数据产业正处于快速发展阶段,尤其是一线城市如北京、上海、广州和深圳对大数据人才的需求旺盛。Hadoop 技术的掌握不仅能够增强求职者的竞争力,还能为其带来更高的薪酬待遇。 #### ...
大数据开发入门指南是一份全面介绍大数据领域的文档,涵盖了从基础概念到实际应用的各个环节,旨在帮助初学者系统地理解和掌握大数据技术。以下是这份指南中可能包含的重要知识点: 1. **大数据概念**:大数据指的...
3.快速入门 4.Standalone集群及HA 5.Spark 应用开发入门 6.Spark 应用提交 7.Spark on YARN 8.应用部署模式DeployMode 第二章、SparkCore 模块 1.RDD 概念及特性 2.RDD 创建 3.RDD 函数及使用 4.RDD 持久化 5.案例:...
Spark 是一个快速、通用且可扩展的大数据处理框架。它支持批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)和机器学习(MLlib)。Spark 拥有内存计算,相比 MapReduce,能显著提升数据处理速度。 ...
10. **其他工具**:课程还提到了Sqoop用于数据导入导出,Flume用于日志收集,Oozie工作流调度,Impala进行快速查询,Solr、Lily、Titan和Neo4j等NoSQL数据库,以及Elasticsearch用于全文检索。 这些课程旨在帮助...