hadoop-2.7.2源码分析之Job提交流程

一 前言

在mapreduce中,对于一个job,它的提交流程,我们有必要去研究一下,当然,在这里只是研究它的一个大体流程,并不会精确到每一句代码 😄

二 流程

1.调用Job对象的waitForCompletion(boolean verbose)方法,这个方法有一个boolean类型的参数,用来决定是否将运行进度信息输出给用户。(注:当然也可以直接调用submit()方法)😊

2.如果直接调用waitForCompletion(boolean verbose),进入方法内部:有submit()方法 ,有用于打印Job过程信息的代码🤭

3.进入到submit()方法内部,connect()方法用于建立连接,获得cluster对象之后,通过cluster获得一个submitter提交对象🤭

4.进入到connect()方法内部,如果是本地提交job,那么cluster为空,需要创建一个cluster对象,在创建cluster对象的时候初始化了信息,包括所使用的文件系统以及job是被提交到本地电脑上(mr程序运行在本地模拟器-LocalJobRunner)还是yarn集群(YarnRunner)上去运行等信息。

这里面的conf,放的就是${HADOOP_HOME}/etc/hadoop里面的配置文件

5.进入initialize方法,会根据运行环境创建客户端协议,创建本地运行或是集群运行客户端对象,此处会根据mapreduce.framework.name的配置选择使用哪个创建相应的客户端,是本地作业,还是yarn作业。

6.进入submitJobInternal方法,提交job

checkSpecs用来判断输出目录的合法性,这就是为什么每次提交作业,总是这个错误比较靠前的先报出来

创建提交资源的路径:本地文件系统上  还是   HDFS文件系统上 (要看是yarn运行还是本地运行)

设置job Id和作业提交目录

拷贝本地文件到hdfs上(如果有使用hdfs集群的话)

  

创建切片信息

job运行需要的配置信息写到stage中

提交job,返回提交状态

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop是一个开源的、可拓展的分布式计算平台,能够对大规模数据进行存储和处理。Hadoop 2.7.2是Hadoop的一个版本,它提供了更高的可靠性、可伸缩性和性能。 Hadoop 2.7.2的下载过程相对简单。首先,在Hadoop的官方网站上找到2.7.2版本的下载页面。在下载页面中,选择适合你操作系统的二进制版本,比如可以有Linux、Windows等。然后,点击下载按钮开始下载。 下载完成后,解压缩下载文件。这时可以得到一个包含Hadoop所有相关文件和文件夹的目录。进入这个目录,可以看到一些核心的文件夹,例如bin、conf、lib等。bin文件夹中包含了一些Hadoop的使用工具和脚本,conf文件夹包含了Hadoop的配置文件,而lib文件夹包含了Hadoop所需的库文件。 在下载完成后,还需要进行一些配置才能使用Hadoop。首先,在conf文件夹中找到hadoop-env.sh文件,根据自己的系统环境配置一些相关的变量,例如JAVA_HOME。然后,编辑core-site.xml和hdfs-site.xml配置文件,指定Hadoop的一些关键参数,比如文件系统的URI和数据存储路径等。 完成配置后,就可以启动Hadoop集群了。在命令行中进入bin目录,运行start-all.sh脚本,启动Hadoop的各个组件,例如HDFS和YARN。启动完成后,可以使用Hadoop的命令行工具或编写代码进行数据的存储和处理了。 总的来说,下载Hadoop 2.7.2只需要几个简单的步骤,但在配置和使用时可能需要一些额外的学习和实践。通过合理的配置和灵活的应用,Hadoop可以帮助我们处理大规模的数据,并发挥出其分布式计算的优势。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值