了解mapreduce.framework.name wrt Hadoop

时间:2018-03-05 18:15:42

标签: hadoop mapreduce yarn hadoop2 mrv2

我正在学习Hadoop并且知道框架有两个版本:Hadoop1和Hadoop2。

如果我的理解是正确的,那么在Hadoop1中,执行环境基于两个守护进程,即TaskTrackerJobTracker,而在Hadoop2(aka yarn)中,执行环境基于"新守护进程" viz ResourceManagerNodeManagerApplicationMaster

如果不正确,请纠正我。

我开始了解以下配置参数:

  

mapreduce.framework.name
  可能采用的值:localclassicyarn

我不明白他们的意思是什么;例如,如果我安装Hadoop 2,那么它如何具有旧的执行环境(具有TaskTrackerJobTracker)。

任何人都可以帮助我这些价值观意味着什么吗?

1 个答案:

答案 0 :(得分:2)

  • yarn代表MR版本2.
  • classic适用于MR版本1
  • local用于MR作业的本地运行。

MR V1和MR V2只是关于如何管理资源和执行作业。当前的hadoop版本兼具(甚至在本地轻量级模式下)。将值设置为yarn时,您只是指示框架使用yarn方式执行作业。类似地,当您将其设置为local时,您只需告诉框架没有可执行的集群及其在JVM中的所有集群。对于MR V1和MR V2框架,它是不同的基础架构;它只是作业执行的方式,它会发生变化。

jobTrackerTaskTracker等都只是守护程序线程,在需要时会被生成并被杀死。

MRv1使用JobTracker创建任务并将任务分配给数据节点。在处理大型集群时发现这种效率太低,导致yarn

MRv2(又名YARN,"又一个资源谈判者")为每个群集都有一个资源管理器,每个数据节点都运行一个节点管理器。对于每个作业,一个从节点将充当Application Master,监视资源/任务等。

本地模式用于在单个机器/ JVM中模拟和调试MR应用程序。

编辑:基于评论

jps(Java虚拟机进程状态)是一个JVM工具,根据official page

  

jps工具列出了已检测的HotSpot Java虚拟机   (JVM)在目标系统上。该工具仅限于报告   有关访问权限的JVM的信息。

所以,

  1. jps 不是一个大数据工具,而是一个讲述JVM的java工具,但它不会泄露有关JVM中运行的进程的任何信息。

  2. 它只列出JVM,它有权访问。这意味着仍然有某些JVM仍然未被发现。

  3. 如果您发现jsp命令基于hadoop部署模式发出不同的结果,请记住以上几点:

    1. 本地(或独立)模式:没有守护进程,所有内容都在一个JVM上运行。
    2. 伪分布式模式:每个守护进程(Namenode,Datanode等)在单个主机上运行在自己的JVM上。
    3. 分布式模式:每个守护程序在一个主机集群上运行在自己的JVM上。
    4. 因此,每个进程可能会也可能不会在同一个JVM中运行,因此jps输出会有所不同。

      现在处于分布式模式,MR v2框架在默认模式下工作。即yarn;因此,您会看到运行纱线特定的守护进程

      Namenode
      Datanode
      ResourceManager
      NodeManager
      

      Apache Hadoop 1.x(MRv1)由以下守护进程组成:

      Namenode
      Datanode
      Jobtracker
      Tasktracker
      

      请注意,NameNodeDataNode在两者之间是通用的,因为它们是HDFS特定守护程序,而其他两个是MR v1yarn特定的。 / p>