gpt4 book ai didi

hadoop - 映射集群上的作业性能

转载 作者:可可西里 更新时间:2023-11-01 16:33:16 24 4
gpt4 key购买 nike

假设我有 15 个数据 block 和两个集群。第一个集群有 5 个节点,复制因子为 1,而第二个集群的复制因子为 3。如果我运行我的映射作业,我应该期望映射作业的性能或执行时间有任何变化吗?

换句话说,复制如何影响集群上映射器的性能?

最佳答案

当 JobTracker 将作业分配给 HDFS 上的 TaskTracker 时,作业会根据数据的位置分配给特定节点(优先选择相同的节点,然后是相同的网络交换机/帧)。通过具有不同的复制因子,您限制了 JobTracker 分配数据本地节点的能力(JobTracker 仍将分配任务节点,但没有本地化的好处)。效果是限制数据本地的 TaskTracker 节点的数量(任务节点上的数据,或同一交换帧上的数据),从而影响任务工作的性能(减少并行化)。

您的较小集群可能只有一个交换机,因此数据在网络/框架中是本地的,因此您可能遇到的唯一瓶颈是数据从一个 TaskTracker 传输到另一个,因为 JobTracker 是可能会将作业分配给所有可用的 TaskTracker。

但是对于更大的 hadoop 集群,复制因子 = 1 会限制数据本地的 TaskTracker 节点数量,从而能够有效地操作您的数据。

有几篇论文支持数据局部性,http://web.eecs.umich.edu/~michjc/papers/tandon_hpdic_minimizeRemoteAccess.pdf ,您引用的这篇论文也支持数据局部性,http://assured-cloud-computing.illinois.edu/sites/default/files/PID1974767.pdf ,还有这个,http://www.eng.auburn.edu/~xqin/pubs/hcw10.pdf (测试了一个 5 节点集群,与 OP 相同)。

本文引用了数据局部性的显着优势,http://grids.ucs.indiana.edu/ptliupages/publications/InvestigationDataLocalityInMapReduce_CCGrid12_Submitted.pdf ,并观察到复制因子的增加会提供更好的局部性。

请注意,本文声称网络吞吐量和本地磁盘访问之间的差异很小 (8%),http://www.cs.berkeley.edu/~ganesha/disk-irrelevant_hotos2011.pdf ,但报告了本地内存访问与磁盘或网络访问之间的性能差异数量级。此外,该论文引用了大部分工作 (64%) 发现他们的数据缓存在内存中 “这在很大程度上是由于工作负载的重尾性质”,因为大多数工作 “仅访问一小部分块”

关于hadoop - 映射集群上的作业性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19372303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com