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