我正在学习Hadoop并且知道框架有两个版本:Hadoop1和Hadoop2。
如果我的理解是正确的,那么在Hadoop1中,执行环境基于两个守护进程,即TaskTracker
和JobTracker
,而在Hadoop2(aka yarn)中,执行环境基于"新守护进程" viz ResourceManager
,NodeManager
,ApplicationMaster
。
如果不正确,请纠正我。
mapreduce.framework.name
可能采用的值:local
,classic
,yarn
我不明白他们的意思是什么;例如,如果我安装Hadoop 2,那么它如何具有旧的执行环境(具有TaskTracker
,JobTracker
)。
任何人都可以帮助我这些价值观意味着什么吗?
答案 0 :(得分:2)
yarn
代表MR版本2. classic
适用于MR版本1 local
用于MR作业的本地运行。 MR V1和MR V2只是关于如何管理资源和执行作业。当前的hadoop版本兼具(甚至在本地轻量级模式下)。将值设置为yarn
时,您只是指示框架使用yarn
方式执行作业。类似地,当您将其设置为local
时,您只需告诉框架没有可执行的集群及其在JVM中的所有集群。对于MR V1和MR V2框架,它是不不同的基础架构;它只是作业执行的方式,它会发生变化。
jobTracker
,TaskTracker
等都只是守护程序线程,在需要时会被生成并被杀死。
MRv1使用JobTracker
创建任务并将任务分配给数据节点。在处理大型集群时发现这种效率太低,导致yarn
MRv2(又名YARN
,"又一个资源谈判者")为每个群集都有一个资源管理器,每个数据节点都运行一个节点管理器。对于每个作业,一个从节点将充当Application Master
,监视资源/任务等。
本地模式用于在单个机器/ JVM中模拟和调试MR应用程序。
编辑:基于评论
jps
(Java虚拟机进程状态)是一个JVM工具,根据official page:
jps工具列出了已检测的HotSpot Java虚拟机 (JVM)在目标系统上。该工具仅限于报告 有关访问权限的JVM的信息。
所以,
jps
不是一个大数据工具,而是一个讲述JVM的java工具,但它不会泄露有关JVM中运行的进程的任何信息。
它只列出JVM,它有权访问。这意味着仍然有某些JVM仍然未被发现。
如果您发现jsp
命令基于hadoop部署模式发出不同的结果,请记住以上几点:
因此,每个进程可能会也可能不会在同一个JVM中运行,因此jps
输出会有所不同。
现在处于分布式模式,MR v2框架在默认模式下工作。即yarn
;因此,您会看到运行纱线特定的守护进程
Namenode
Datanode
ResourceManager
NodeManager
Apache Hadoop 1.x(MRv1)由以下守护进程组成:
Namenode
Datanode
Jobtracker
Tasktracker
请注意,NameNode
和DataNode
在两者之间是通用的,因为它们是HDFS
特定守护程序,而其他两个是MR v1
和yarn
特定的。 / p>