gpt4 book ai didi

hadoop - 使用 Hadoop 的高性能机器的成本效益

转载 作者:可可西里 更新时间:2023-11-01 15:40:18 26 4
gpt4 key购买 nike

我刚刚阅读了一些关于 Hadoop 的优秀文档 here .与其他计算量大的数据处理方法(例如 heterogenous computing)相比,Hadoop 的主要优势之一似乎是它的 scalability。 .它利用大量成本适中的硬件,而不是任何一台功能强大但昂贵的机器。

假设我们可以选择使用高性能但昂贵的机器进行 Hadoop 计算。 Hadoop 能否并且确实有效地利用了这些昂贵的资源;它会自动利用额外的EC2 compute units吗?还是您必须自己进行并行编程?机能提升多少?有没有一种方法可以以更多的价格量化性能提升EC2

最佳答案

Hadoop 框架会在可用时自动利用多个内核。你不必自己做并行编程,这实际上是 Hadoop 的卖点之一:你只需要编写一次你的工作而不用担心线程同步逻辑,然后根据你的集群配置它会尽量使用所有内核。

例如,假设您有一个在数 TB 数据集上运行的作业,在计算拆分后需要运行 100 个任务。现在,如果你想在 10 个 m1.small 节点(只有 1 个核心)上运行你的工作,你的集群一次将有 10 个任务的容量(每个节点 1 个任务)。但是如果你想在 10 个 m1.large 节点(2 x 2 核)上运行它,你一次可以处理 40 个任务,所以你的工作将比使用相同的节点快大约 4 倍m1.small 的数量,因为它将利用额外的内核。

此外,我听说有人在 Hadoop 上使用 CUDA(一些信息 here)并且 Amazon 有一些集群 GPU 实例,因此在这种情况下,您也可以利用 GPU。

底线是,在使用 Hadoop 时,您应该根据核心数量而不是机器数量进行推理。显然你想找到一个好的权衡,我在过去看到一个集群,其中每个节点都有很多核心,但磁盘 I/O 不是很好,所以这在集群中引起了很多争用,我们有减少每个节点的最大任务数(您可以通过参数 mapred.tasktracker.map.tasks.maximummapred.tasktracker.reduce.tasks.maximum 在 Hadoop 配置中进行控制)。

我个人发现 m1.xlarge 实例在某些 Hadoop 集群中工作得很好,而高 CPU 实例对我来说会导致太多磁盘争用。

关于hadoop - 使用 Hadoop 的高性能机器的成本效益,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16766379/

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