繁体   English   中英

hadoop jar命令执行

[英]hadoop jar command Execution

  1. 我们通过hadoop jar命令提交jar文件
  2. 它命中主节点

hadoop jar命令会将jar文件复制到所有从属节点并开始执行或者如何工作以及由谁执行此操作? 工作跟踪器或Namenode?

“hadoop jar”命令通过提供jarfile,输入路径,输出路径告诉hadoop在集群中执行作业。 jar文件包含Job配置,以及所有Map和Reduce代码。

脚步:

  1. 作业客户端向JobTracker(JT)提交作业。 在后台,它将包含Config,Mapper和Reducer代码,输入和输出路径信息的二进制文件复制到靠近任务跟踪器(TT)的集中区域中的HDFS。 一旦TT需要使用该代码,他们只需在datanode上本地下载它,这样当Map和Reduce任务站起来时,他们就会使用该代码在本地数据上运行。

  2. JT在NameNode中查询包含数据的数据位置和数据节点名称。

  3. 有了这些信息,JT会与TT进行对话,并通过考虑最接近数据的TTS来创建执行计划,如果它们有可用的执行槽。 如果不是,那么它适用于机架位置,并且发现同一机架中的任何TT都有可用的插槽。 如果仍然找不到,那么在任何机架/任何地方找到TT。

  4. 根据执行计划,JT向TT提交工作。 TT现在支持Map和Reduce Tasks并执行数据。

  5. TT定期向JT报告进度和心跳(默认值为每5秒)。 每个Map和Reduce任务都通过TT向JT报告其进度/完成/错误。 即Mapper和Reducer任务向JT报告TT和TT报告。 如果MR任务死亡,那么TT会将此报告给JT,JT会旋转其他MR任务来处理错误。

  6. 一旦所有映射器完成了他们的任务,JT发出TT信号告诉Reducers运行他们的reducer执行(即运行reduce()方法)

  7. 完成所有Mapper和Reducers并写入最终输出后,JT会将其状态更新为SUCCESS并通知客户端。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM