我正在搜索关于落后问题的hadoop和mapreduce以及这个问题中的论文
但昨天我发现有纱线的hadoop 2,
遗憾的是,没有纸张谈论纱线中的落后问题
所以我想知道部分落后者中MapReduce和Yarn有什么区别?
纱线是否存在落后问题?
当MRmaster向资源经理询问资源时,资源经理会为MRmaster提供所需的所有资源,还是根据集群计算能力?
非常感谢,
答案 0 :(得分:9)
以下是MapReduce 1.0和MapReduce 2.0(YARN)
MapReduce 1.0
在典型的Hadoop集群中,机架通过核心交换机互连。核心交换机应连接到架顶式交换机使用Hadoop的企业应考虑使用 10GbE ,绑定以太网和冗余架顶式交换机来降低发生故障时的风险。默认情况下,文件分为 64MB 块,并分布在数据节点上。每个块的默认复制因子 3 ,这意味着在任何给定时间都会有 3份的数据。 Hadoop是“Rack Aware”, HDFS 已在不同机架上的节点上复制了块。 JobTracker根据节点的位置将任务分配给最接近数据的节点,并帮助NameNode在读取期间确定'最近的'块到客户端。管理员提供一个脚本,告诉Hadoop节点所在的机架,例如: / enterprisedatacenter / rack2。
MapReduce 1.0的局限性 Hadoop最多可扩展到4,000个节点。当它超过该限制时,会引发不可预测的行为,例如级联故障和整个集群的严重恶化。另一个问题是多租户 - 在Hadoop集群上运行除MapReduce 1.0之外的其他框架是不可能的。
MapReduce 2.0
MapReduce 2.0有两个组件 - 具有集群资源管理功能和MapReduce的YARN。
在MapReduce 2.0中,JobTracker分为三个服务:
TaskTracker已被NodeManager取代,NodeManager是一个 YARN 服务,用于管理节点上的资源和部署。 NodeManager负责启动可以是map或reduce任务的容器。
这种新架构通过允许新的ResourceManager管理跨应用程序的资源使用来打破JobTracker模型,ApplicationMasters负责管理作业的执行。此更改消除了瓶颈,让Hadoop集群扩展到比 4000个节点更大的配置。该架构还允许同时执行各种编程模型,如图形处理,迭代处理,机器学习和一般集群计算,包括传统的MapReduce。
答案 1 :(得分:2)
你说" MapReduce和YARN之间的差异"。 MapReduce和YARN绝对不同。 MapReduce是编程模型,YARN是分布式集群的架构。 Hadoop 2使用YARN进行资源管理。除此之外,hadoop支持编程模型支持我们称为MapReduce的并行处理。在hadoop 2之前,hadoop已经支持MapReduce。简而言之,MapReduce运行在YARN Architecture之上。对不起,我没有提及部分问题。
"当MRmaster要求资源经理提供资源时?" 当用户提交MapReduce Job时。 MapReduce作业完成后,资源将恢复为免费。
"资源管理器将为MRmaster提供所需的所有资源,或者它是根据集群计算能力而定的。 我不明白这个问题。显然,无论集群计算能力如何,资源管理器都会提供所需的所有资源。集群计算能力将影响处理时间。
答案 2 :(得分:0)
如果对于落后者问题,你的意思是,如果第一个人等待'某事情'然后导致更多的等待沿着一个依赖于第一个人的道路然后我想在MR工作中总是存在这个问题。获得分配的资源自然会与所有其他可能导致组件等待的事情一起参与此问题。
应该是MR作业运行时的替代品的Tez使得事情变得与众不同。当前MR Appmaster不会以相同的方式执行任务运行,而是尝试使用DAG任务,这样可以更好地解决不良的拖延问题。
您需要了解MR和YARN之间的关系。 YARN只是一个虚拟资源调度程序,这意味着它不会安排任务'。它为MR Appmaster提供的是一组或一组资源(从某种意义上说它只是内存和CPU以及位置的组合)。然后MR Appmaster负责决定如何处理这些资源。
答案 3 :(得分:0)
MapReduce 1中没有YARN。在MapReduce中有Yarn。