了解mapreduce.framework.name wrt hadoop

5anewei6  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(405)

我正在学习hadoop,并且知道有两个版本的框架,即hadoop1和hadoop2。
如果我的理解是正确的,在hadoop1中,执行环境基于两个守护进程,即 TaskTracker 以及 JobTracker 而在hadoop2(aka yarn)中,执行环境是基于“新守护进程”即 ResourceManager , NodeManager , ApplicationMaster .
如果这不正确,请纠正我。

我了解到以下配置参数:

mapreduce.framework.name文件
可能取值: local , classic , yarn 我不明白他们到底是什么意思;例如,如果我安装了hadoop2,那么它怎么会有旧的执行环境(它有 TaskTracker , JobTracker ).
有人能帮我解释一下这些价值观是什么意思吗?

p8h8hvxi

p8h8hvxi1#

yarn 代表mr版本2。 classic 适用于mr版本1 local 为乔布斯先生在当地的经营做准备。
mrv1和mrv2只是关于如何管理资源和执行作业。当前的hadoop版本能够同时实现这两种功能(甚至在本地轻量级模式下)。当您将值设置为 yarn ,您只是简单地指示要使用的框架 yarn 执行作业的方法。同样地,当你把它设置为 local ,您只需告诉框架,没有集群可供执行,而所有集群都在jvm中。对于mrv1和mrv2框架来说,它不是一个不同的基础设施;这只是作业执行的方式,它会改变。 jobTracker , TaskTracker etc都只是守护进程线程,它们在需要时生成并被杀死。
mrv1使用 JobTracker 创建任务并将其分配给数据节点。这在处理大型集群时效率太低,导致 yarn mrv2(又名 YARN ,“又一个资源协商者”)为每个集群都有一个资源管理器,每个数据节点都运行一个节点管理器。对于每个作业,一个从属节点将充当 Application Master ,监视资源/任务等。
给出了在单机/jvm中模拟和调试mr应用程序的本地模式。
编辑:基于评论 jps (java虚拟机进程状态)是一个jvm工具,根据官方页面:
jps工具列出了目标系统上插入指令的热点java虚拟机(jvm)。该工具仅限于报告具有访问权限的JVM上的信息。
所以, jps 它不是一个大数据工具,而是一个讲述jvm的java工具,但是它不会泄露jvm中运行的进程的任何信息。
它只列出jvm,它有权访问。这意味着仍有某些JVM未被发现。
记住以上几点,如果你注意到的话 jsp 命令根据hadoop部署模式发出不同的结果:
本地(或独立)模式:没有守护程序,所有东西都在单个jvm上运行。
伪分布式模式:每个守护进程(namenode、datanode等)在单个主机上运行自己的jvm。
分布式模式:每个守护进程在其自己的jvm上跨主机集群运行。
因此,每个进程可能在同一jvm中运行,也可能不在同一jvm中运行,因此 jps 输出将不同。
现在在分布式模式下,mrv2框架在默认模式下工作。即。 yarn ; 因此您可以看到特定于Yarn的守护进程正在运行

Namenode
Datanode
ResourceManager
NodeManager

apache hadoop 1.x(mrv1)由以下守护程序组成:

Namenode
Datanode
Jobtracker
Tasktracker

请注意 NameNode 以及 DataNode 因为他们是 HDFS 另外两个是 MR v1 以及 yarn 具体的。

相关问题