Apache Oozie-- 实战操作--集成 hue& 调度 mapreduce 程序|学习笔记

简介: 快速学习Apache Oozie-- 实战操作--集成 hue& 调度 mapreduce 程序

开发者学堂课程【Oozie 知识精讲与实战演练Apache Oozie-- 实战操作--集成 hue& 调度 mapreduce 程序】学习笔记,与课程紧密联系,让用户快速学习知识。 课程地址:https://developer.aliyun.com/learning/course/716/detail/12794


Apache Oozie--实战操作--集成hue&调度mapreduce程序


内容简介:

一、利用 oozie 做整合

二、直接提交 MapReduce 程序


一、利用 oozie 做整合


利用 hue 和 Oozie 来调度 MapReduce 程序,因为需要配置很多的参数,例如:输入输出的路径, class 的类型等等,所以调度 MapReduce 程序会有些复杂。

1、具体操作

(1)打开浏览器,点击 Query 下方的 Scheduler ,选择  Workflow,创建新的工作流,起名为 hue mapreduce 并将描述修改为 itcast。

(2)图片1.png

(3)选择执行节点信息,选择 MapReduce job 并拖住它放到 drop your action here 中,这时需要添加 MapReduce 程序的架包,该架包路径必须位于 HDFS 之上,可以把自己本地开发好的 MapReduce 程序提交到这里,在路径中有一个 MapReduce 程序,是官方制定,选择 hadoop-mapreduce-examples-2.7.5.jar,它的提交需要很多参数,所以需要开启新版本的 API来指定输入输出的类,输入输出的路径,这需要利用 PROPERTIES 来编辑。

图片2.png

(4)点击 PROPERTIES 添加选项,这些选项位于参考交流中,打开配置软件在 Apache Hue 中有

mapreduce_oozie_workflow.xml,这里记录了手动通过 oozie 提交 MapReduce 需要配置的参数,这些参数需要原封不动的复制。

参数如下(具体根据代码情况修改):

(1)是否启用新的 API 来进行配置

复制 mapred.mapper.new-api,注意细心,value 值为 true

(2)是否启用 reduce 新的 API

复制 mapred.reduce.new-api,value 值为 true

(3)指定MR的输出 key 的类型

输出 key 的类型跟业务相关,复制

mapreduce.job.output.key.class, 因为做关于单词的统计,输出的都是单词的类型,所以有关于 Text 的类型,所以后面 value 的值是 org.apache.hadoop.io.Text

(4)指定 MR 的输出的 value 的类型

复制 mapreduce.job.output.value.class, 输出的是单词次数用 IintWritable 来表示 ,

所以 value 的值是 org.apache.hadoop.io.IintWritable

(5)指定输入路径

复制 mapred.input.dir 粘贴,输入路径可以自己敲,指定输入路径为 /oozie/input/,所以 value 的值为 /oozie/input/

(6)指定输出路径

复制 mapred.output.dir 粘贴,输出路径同样重新指定,将它放到 oozie 下的output666, 所以 value 的值为 /oozie/output666

(7)指定执行的 map 类

复制官方制定的类 mapreduce.job.map.class 粘贴,value 的值为org.apache.hadoop.examples.Wordcount$TokenizerMapper, 这里具体根据所需的类改变

(8)指定执行的 reduce 类

复制 mapreduce.job.reduce.class 粘贴, value 的值为 org.apache.hadoop.examples.Wordcount$IntSumReduce

(9)配置 map task 的个数

可以开启,也可以不开启

最终结果如下图所示:

图片3.png

配置好后进行验证,校正好后点击按钮 save 进行保存,保存好后点击左边的按钮submit 进行提交,这就完成利用 hue 和 oozie 来提交定时任务,执行的时候可以点击 Jobs 查看 MapReduce 程序的过程,也可以点击 Workflow 具体查看调度执行的情况。

2、验证

如果出错,点击查看 Logs,Logs 是排错的唯一依据,执行完之后验证是否出错,在文件的根目录下的 oozie 中有 output666,双击 part-r-00000, 点击 Open in Browser, 确定里面的内容为单词统计的内容,这就完成了 MapReduce 程序的提交。

图片4.png


二、直接提交 MapReduce 程序

直接提交 MapReduce 程序,相当于提交一个架包。

点击 Query 下的 Editor,选择 MapReduce 程序,选择架包,然后进行添加Properties,参数不变。

相关文章
|
3月前
|
人工智能 运维 监控
Aipy实战:分析apache2日志中的网站攻击痕迹
Apache2日志系统灵活且信息全面,但安全分析、实时分析和合规性审计存在较高技术门槛。为降低难度,可借助AI工具如aipy高效分析日志,快速发现攻击痕迹并提供反制措施。通过结合AI与学习技术知识,新手运维人员能更轻松掌握复杂日志分析任务,提升工作效率与技能水平。
|
10月前
|
消息中间件 数据挖掘 Kafka
Apache Kafka流处理实战:构建实时数据分析应用
【10月更文挑战第24天】在当今这个数据爆炸的时代,能够快速准确地处理实时数据变得尤为重要。无论是金融交易监控、网络行为分析还是物联网设备的数据收集,实时数据处理技术都是不可或缺的一部分。Apache Kafka作为一款高性能的消息队列系统,不仅支持传统的消息传递模式,还提供了强大的流处理能力,能够帮助开发者构建高效、可扩展的实时数据分析应用。
488 5
|
11月前
|
消息中间件 存储 druid
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
158 3
|
Serverless 语音技术 开发工具
函数计算操作报错合集之怎么何集成nls tts python sdk
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
179 2
|
分布式计算 资源调度 监控
MapReduce程序中的主要配置参数详解
【8月更文挑战第31天】
686 0
|
关系型数据库 Linux 网络安全
"Linux系统实战:从零开始部署Apache+PHP Web项目,轻松搭建您的在线应用"
【8月更文挑战第9天】Linux作为服务器操作系统,凭借其稳定性和安全性成为部署Web项目的优选平台。本文以Apache Web服务器和PHP项目为例,介绍部署流程。首先,通过包管理器安装Apache与PHP;接着创建项目目录,并上传项目文件至该目录;根据需要配置Apache虚拟主机;最后重启Apache服务并测试项目。确保防火墙允许HTTP流量,正确配置数据库连接,并定期更新系统以维持安全。随着项目复杂度提升,进一步学习高级配置将变得必要。
829 0
|
9月前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
671 33
The Past, Present and Future of Apache Flink
|
11月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
1472 13
Apache Flink 2.0-preview released

推荐镜像

更多