amazon emr-当我们有核心节点时,任务节点需要什么?

7y4bm7vi  于 2021-05-29  发布在  Hadoop
关注(0)|答案(4)|浏览(604)

大家好,我最近一直在学习amazon emr,据我所知,emr集群允许我们选择3个节点。
运行主要hadoop守护进程的master,如namenode、job tracker和resourcemanager。
运行datanode和tasktracker守护程序的核心。
仅运行tasktracker的任务。
我问你们为什么电子病历提供任务节点?正如hadoop所建议的,我们应该在同一个节点上有datanode守护程序和tasktracker守护程序。亚马逊这样做背后的逻辑是什么?您可以将数据保存在s3中,并将其流式传输到核心节点上的hdfs,在hdfs上进行处理,而不是将数据从hdfs共享到任务节点,这样会增加io开销。因为据我在hadoop中所知,tasktracker运行在datanodes上,datanodes上有特定任务的数据块,那么为什么tasktracker运行在不同的节点上呢?

umuewwlo

umuewwlo1#

hadoop建议在同一节点上使用datanode和tasktracker守护进程的原因是它希望我们的处理能力尽可能接近数据。
但是,当您必须处理多节点集群时,也会出现机架级优化。在我看来,aws通过在datanodes所在的同一机架中提供任务节点来减少i/o开销。
提供任务节点的原因是,我们需要对数据进行更多的处理,而不仅仅是将它们存储在hdfs上。我们总是希望tasktracker比daemon节点更多。因此,aws为您提供了使用完整的节点级优化来增加它的机会。
如果希望获得良好的性能,但只使用临时集群,那么将数据放入集群的方式(使用s3和核心节点)是一个不错的选择。

p8h8hvxi

p8h8hvxi2#

根据aws文件[1]
amazonemr中的节点类型如下:主节点:通过运行软件组件来管理集群的节点,以协调数据和任务在其他节点之间的分布,以便进行处理。主节点跟踪任务的状态并监视集群的运行状况。每个集群都有一个主节点,可以创建一个只有主节点的单节点集群。
核心节点:具有软件组件的节点,这些组件在集群上的hadoop分布式文件系统(hdfs)中运行任务和存储数据。多节点集群至少有一个核心节点。
任务节点:带有软件组件的节点,只运行任务,不在hdfs中存储数据。任务节点是可选的。
根据aws文件[2]
任务节点是可选的。您可以使用它们来增加对数据执行并行计算任务的能力,例如hadoopmapreduce任务和spark执行器。
任务节点不运行数据节点守护进程,也不在hdfs中存储数据。
一些用例包括:
您可以使用任务节点来处理来自s3的流。在这种情况下,网络io不会增加,因为使用的数据不在hdfs上。
由于没有运行hdfs守护进程,因此可以添加或删除任务节点。因此,没有关于任务节点的数据。核心节点运行hdfs守护进程,不断添加和删除新节点不是一个好的做法。
任务节点可以是不同的示例类型。而核心节点必须是相同的示例类型(如果示例组配置为统一示例组)
资源:
[1] https://docs.aws.amazon.com/emr/latest/managementguide/emr-overview.html#emr-集群概述
[2] https://docs.aws.amazon.com/emr/latest/managementguide/emr-master-core-task-nodes.html#emr-计划任务

x6492ojm

x6492ojm3#

传统的hadoop假设您的所有工作负载都需要高i/o,而emr则可以根据您的工作负载选择示例类型。对于高io需求,例如高达100gbps,请使用c类型或r类型,并且可以使用放置组。并将核心节点与任务节点的比率保持在1:5或更低,这将使i/o保持最佳状态,如果您想要更高的吞吐量,请选择c或r作为核心和任务(编辑-解释几乎没有任何性能损失与电子病历)
任务节点的优势它可以更快地向上/向下扩展,并且可以最小化计算成本。传统的hadoop集群无论哪种方式都很难扩展,因为从属服务器也是hdfs的一部分。任务节点是可选的,因为核心节点可以运行map和reduce。
根据任务的不同,核心节点需要更长的时间来放大/缩小,因此提供了任务节点选项,以实现更快的自动缩放。
参考文献:https://aws.amazon.com/blogs/big-data/best-practices-for-resizing-and-automatic-scaling-in-amazon-emr/

ngynwnxp

ngynwnxp4#

一个用例是将spot示例用作任务节点。如果它足够便宜,那么为emr集群添加一些计算能力可能是值得的。这将主要用于非敏感任务。

相关问题