Azkaban--使用实战--hadoop 调度(hdfs、mapreduce) | 学习笔记

简介: 快速学习 Azkaban--使用实战--hadoop 调度(hdfs、mapreduce)

开发者学堂课程【Azkaban 大数据调度系统课程精讲Azkaban--使用实战--hadoop 调度(hdfs、mapreduce)学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/721/detail/12881


Azkaban--使用实战--hadoop 调度(hdfs、mapreduce)


内容介绍:

一、HDFS 任务调度

二、MAPREDUCE 任务调度

 

一、HDFS 任务调度:

下面学习关于 Azkaban hadoop 的相关调度,在 hadoop 调度中分为两个方面:HDFS 任务调度、MAPREDUCE 任务调度。

接下来演示用 Azkaban 调度配置操作的具体步骤:

第一种是 HDFS 任务调度,在进行 Azkaban 调度配置操作之前,如果需要手动执行文件系统操作,就可以打开 node-2命令行,输入命令 hadoop fs -ls(查看 ls), hadoop fs -ls 转化为 Azkaban 调度 HDFS 任务执行。hadoop fs -ls 这个命令是 shell 命令 ,hadoop 是在 hadoop 软件某个的路径下,可以输入 which hadoop 进行相关查找。

发现 hadoop fs -ls 的具体代码是/export/serve/ hadoop-2.7.5/bin/hadoop

image.png

1、打开参考资料——Azkadan——job 配置模板

2、创建 job 文件

接下来打开 job 配置模板——hafs 文件夹,文件夹下有一个 job 文件 fs.job

image.png

fs.job 文件中

type=command //类型是 command命令

command=sh hdfs.sh//command 命令是用来输出一个脚本 hdfs.sh,具体的逻辑在这个脚本当中

接下来打开 hdfs.sh 这个脚本,脚本内容如下:

#!/bin/bash //定义了一个解释器

/export/serves/hadoop-2.7.5/bin/hadoop fs-mkdir/azaz666

//全路径,在此路径基础之上,可以执行后面的相关操作,整个核心参数:hadoop fs-mkdir/azaz666//创建一个文件夹名为 azaz666(提示:在脚本直接敲好全路径,是识别不到的,因为 shell 脚本没有加载到环境变量里)

确保 Azkaban 能否执行,且/export/serves/hadoop-2.7.5这个文件路径与当前与 node-2系统命令行的路径是否一致。

3、将所有 job 资源文件打包成 zip 文件

选中 fs.job hdfs.sh 这两个文件右键选择加到压缩档选项,之后选择 zip 格式。创建好这个压缩包,说明工程的资源和配置都准备好了。

4、通过 Azkaban web 管理平台创建 project 并上传 job 压缩包

打开浏览器 http://node-2:8443/index.进入到 Azkaban 新建一个 web 工程。

(1) :首先创建 project

点击 Azkaban 界面的 Create Project,创建这个工程

image.png

(2):上传 zip

当前这是一个空工程,点击 Upload 进行执行操作,选择之前的压缩包 hdfs.sh.zip 上传到工程里,这样就完成了 zip 上传。

之后选择右上角的立即执行按钮 Schedule/Execute.Flow,看一下效果,显示 RUNNING,说明正在执行,等待一段时间,显示 SUCCEEDED,说明创建成功,2秒就完成了创建,如果出错,会报出 FAILED,出现红色标识的内容。

当点击 job Details ,查看 job 执行结果的相关信息。执行完成之后,打开 Browse Directory,点击 Go!进行刷新,发现创建了一个文件夹名叫 azaz666,这样就完成了利用 Azkaban 针对 HDFS 任务调度的相关操作。

 

二、MAPREDUCE 任务调度:

下面学习 MAPREDUCE 任务调度。

接下来演示用 Azkaban 调度配置操作的具体步骤:

第二种是 mr 程序的提交,如果手动执行文件系统操作进行码程序,就是把 jar 包上传到机器上,用 hadoop jar 进行相关执行。转化为 Azkaban 调度,去配置相关软件的执行路径,因为 hadoop jar hadoop fs 是同一路径下的 shell 命令,配置/home/hadoop/ apps/hadoop-2.6.1/bin/hadoop 就可以实现执行 Azkaban 调度。

接下来进行具体操作:

hadoop 安装包有一个官方案例:mr 程序

这里面有一个 hadoop -mapreduce-examples- 2.7.5.jar jra 包,这里面可以实现两种 mr 程序:

1、计算圆周率Π

2、进行统计

如果想要进行计算圆周率Π,就输入 hadoop  jar hadoop -mapreduce-examples- 2.7.5.jar 2 4,提供 jar 的名字,给予两个参数进行评估。

运行之后出现了参数报错:

An Aggregate based map/reduce program that counts the words in the input files,这个程序根据输入的参数hadoop  jar hadoop -mapreduce-examples- 2.7.5.jar 2 4来评估执行相关的程序,执行的计算圆周率Π,修改输入:hadoop  jar hadoop -mapreduce-examples- 2.7.5.jar pi 2 4,然后执行成功。

image.png

接下来转化为 Azkaban 调度执行:

1、打开参考资料——Azkadan——job 配置模板

2、创建 job 描述文件

接下来打开 job 配置模板——mapreduce 文件夹,执行 mr 程序一定要有个 jar 包,接下来编写一个mapreduce_wordcount.job 文件,右键打开。

image.png

mapreduce_wordcount.job 文件中

#  mapreduce_wordcount.job

type=command //类型是 command 命令

command=/root/hadoop/apps/hadoop/bin/hadoop jar

hadoop -mapreduce-examples- 2.6.1.jar pi 4 4

//command 命令是用来输出一个路径

接下来打开 nide-2这个服务器,刚才执行的程序已经结束,输入 which hadoop

出现的路径:/export/serve/ hadoop-2.7.5/bin/hadoop,复制到 command

command=/export/serve/ hadoop-2.7.5/bin/hadoop jar

hadoop -mapreduce-examples- 2.7.5.jar pi 4 4

//command 执行下面这个命令,注意 jar 的名字要保持一致,不一致,就进行替换。

image.png

上面是根据圆周率为例,下面以 wordcount 为例:

command=/export/serve/ hadoop-2.7.5/bin/hadoop jar

hadoop -mapreduce-examples- 2.7.5. wordcount/wc/input

/wc/onput

这样就把 wordcount mr 程序配置好了,去提交一个 mr 程序,做一个单词统计,配置好以后就把 jar 包和 job 配置文件一起打包压缩。

3、将所有 job 资源文件打包成 zip 文件

配置好以后就选中 jar 包和 job 配置文件加到压缩档选项,之后选择 zip 格式。创建好这个压缩包。

4、通过 Azkaban web 管理平台创建 project 并上传 job 压缩包

打开浏览器 http://node-2:8443/index.进入到 Azkaban 新建一个 web 工程。

(1):首先创建 project

点击 Azkaban 界面的 Create Project,创建这个工程

image.png

(2):上传 zip

当前这是一个空工程,点击 Upload 进行执行操作,选择之前的压缩包 mapreduce.zip 上传到工程里,这样就完成了 zip 上传。

现在不能立即执行,因为程序需要一个输入输出路径,处理一下输入的待处理的数据,打开 node-2服务器,输入# hadoop fs-mkdir -p/wc/input,创建一下路径,接下来准备一个文件:# vim input.txt

image.png

当简单写入 :

Hadoop hello allen

Spark hadoop hive

Hadop hadoop

image.png

image.png

把这个文件放到这个路径下: hadoop fs -put input.txt/wc/input

上传之后,确保数据是否在/wc/input 里,确认好之后,就开始提交执行。

看是否能执行 mr 程序,返回 Azkaban 里的 mapreduce_wordcount,如果不想配置 Schedule 定时,可以点Execute.Flow 立即执行,点击 Execute.Flowmr 程序显示 RUNNING,说明正在执行,可以使用 node-18088刷新查看 mr 程序执行实时状况,与 Azkaban 同步 mr 程序执行实时状况,使用 node-18088看到里面有 word count mr程序,显示 RUNNINIG,等待一段时间,显示 SUCCEEDED,同时 Azkaban 显示 RUNNINIG,说明程序执行成功,同时可以使用 node-18088查看日志,以及也可以用 Azkaban 查看日志情况,同时也可以点击 Azkaban 上的 job List后面的 Details,查看 job 执行结果的相关信息以及是否出错,如果出错会有具体标识。

image.png

image.png

image.png

接下来进行验证:

打开/wc 路径下,发现 output 并点击,里面的_SUCCESS 代表成功执行,数据应该在 part-r-0000,点击 Download 进行验证,打击右键打开 part-r-0000 文件,发现完成单词统计,这样就完成了 mr 程序的提交。

image.png

image.png

image.png

总结:

针对 hadoop 任务,无论是 HDFS 任务调度还是 MAPREDUCE 任务调度,核心就是配置 command 命令,之前在shell 如何执行的,就如何配置在脚本当中。

相关文章
|
3天前
|
分布式计算 Hadoop Devops
Hadoop集群配置https实战案例
本文提供了一个实战案例,详细介绍了如何在Hadoop集群中配置HTTPS,包括生成私钥和证书文件、配置keystore和truststore、修改hdfs-site.xml和ssl-client.xml文件,以及重启Hadoop集群的步骤,并提供了一些常见问题的故障排除方法。
10 3
Hadoop集群配置https实战案例
|
4天前
|
分布式计算 监控 Hadoop
监控Hadoop集群实战篇
介绍了监控Hadoop集群的方法,包括监控Linux服务器、Hadoop指标、使用Ganglia监控Hadoop集群、Hadoop日志记录、通过Hadoop的Web UI进行监控以及其他Hadoop组件的监控,并提供了相关监控工具和资源的推荐阅读链接。
16 2
|
21天前
|
分布式计算 大数据 Hadoop
揭秘MapReduce背后的魔法:从基础类型到高级格式,带你深入理解这一大数据处理利器的奥秘与实战技巧,让你从此不再是编程门外汉!
【8月更文挑战第17天】MapReduce作为分布式计算模型,是大数据处理的基石。它通过Map和Reduce函数处理大规模数据集,简化编程模型,使开发者聚焦业务逻辑。MapReduce分单阶段和多阶段,支持多种输入输出格式如`TextInputFormat`和`SequenceFileInputFormat`。例如,简单的单词计数程序利用`TextInputFormat`读取文本行并计数;而`SequenceFileInputFormat`适用于高效处理二进制序列文件。合理选择类型和格式可有效解决大数据问题。
25 1
|
21天前
|
分布式计算 大数据 分布式数据库
"揭秘HBase MapReduce高效数据处理秘诀:四步实战攻略,让你轻松玩转大数据分析!"
【8月更文挑战第17天】大数据时代,HBase以高性能、可扩展性成为关键的数据存储解决方案。结合MapReduce分布式计算框架,能高效处理HBase中的大规模数据。本文通过实例展示如何配置HBase集群、编写Map和Reduce函数,以及运行MapReduce作业来计算HBase某列的平均值。此过程不仅限于简单的统计分析,还可扩展至更复杂的数据处理任务,为企业提供强有力的大数据技术支持。
29 1
|
10天前
|
缓存 分布式计算 算法
优化Hadoop MapReduce性能的最佳实践
【8月更文第28天】Hadoop MapReduce是一个用于处理大规模数据集的软件框架,适用于分布式计算环境。虽然MapReduce框架本身具有很好的可扩展性和容错性,但在某些情况下,任务执行可能会因为各种原因导致性能瓶颈。本文将探讨如何通过调整配置参数和优化算法逻辑来提高MapReduce任务的效率。
35 0
|
15天前
|
资源调度 分布式计算 监控
【揭秘Hadoop YARN背后的奥秘!】从零开始,带你深入了解YARN资源管理框架的核心架构与实战应用!
【8月更文挑战第24天】Hadoop YARN(Yet Another Resource Negotiator)是Hadoop生态系统中的资源管理器,为Hadoop集群上的应用提供统一的资源管理和调度框架。YARN通过ResourceManager、NodeManager和ApplicationMaster三大核心组件实现高效集群资源利用及多框架支持。本文剖析YARN架构及组件工作原理,并通过示例代码展示如何运行简单的MapReduce任务,帮助读者深入了解YARN机制及其在大数据处理中的应用价值。
32 0
|
3月前
|
分布式计算 Hadoop Java
Hadoop MapReduce编程
该教程指导编写Hadoop MapReduce程序处理天气数据。任务包括计算每个城市ID的最高、最低气温、气温出现次数和平均气温。在读取数据时需忽略表头,且数据应为整数。教程中提供了环境变量设置、Java编译、jar包创建及MapReduce执行的步骤说明,但假设读者已具备基础操作技能。此外,还提到一个扩展练习,通过分区功能将具有相同尾数的数字分组到不同文件。
42 1
|
3月前
|
存储 分布式计算 Hadoop
Hadoop生态系统详解:HDFS与MapReduce编程
Apache Hadoop是大数据处理的关键,其核心包括HDFS(分布式文件系统)和MapReduce(并行计算框架)。HDFS为大数据存储提供高容错性和高吞吐量,采用主从结构,通过数据复制保证可靠性。MapReduce将任务分解为Map和Reduce阶段,适合大规模数据集的处理。通过代码示例展示了如何使用MapReduce实现Word Count功能。HDFS和MapReduce的结合,加上YARN的资源管理,构成处理和分析大数据的强大力量。了解和掌握这些基础对于有效管理大数据至关重要。【6月更文挑战第12天】
97 0
|
数据采集 分布式计算 搜索推荐
Hadoop学习---7、OutputFormat数据输出、MapReduce内核源码解析、Join应用、数据清洗、MapReduce开发总结(一)
Hadoop学习---7、OutputFormat数据输出、MapReduce内核源码解析、Join应用、数据清洗、MapReduce开发总结(一)
|
存储 分布式计算 Hadoop
Hadoop基础学习---6、MapReduce框架原理(一)
Hadoop基础学习---6、MapReduce框架原理(一)
下一篇
DDNS