Hortonworks表示 :“Hadoop集群的性能往往不受磁盘速度的限制 – I / O和内存限制将变得更加重要。” *
磁盘速度如何与I / O限制无关?
评论在技术上是正确的,但它是细微的。 你必须了解你的MapReduce作业在做什么。
虽然磁盘转速很重要,但是可以说没有networking速度重要,无论是closures系统还是closures交换机,尤其是在生成大量input数据到缩减阶段的情况下,因为减速器无法考虑数据局部性。
通常情况下,您将find使用7200rpm驱动器的集群,这在JBOD中进行了configuration(因为这是Hadoop社区的一般build议,以平衡成本与性能与可靠性之间的关系)。 在大多数configuration中,您可能无法find每个主轴1-2个以上的读写器(请考虑:每个主轴1-2个任务)。 由于改进了旋转延迟(尽pipe我故意在这里避开SSD的问题),性能不会有太大提高。
使用现代7200rpm驱动器,您将获得100-200MBytes / s或相当于每秒1-2Gbps的速度。 我的集群可以做大约25Gbps的磁盘 I / O …但是为了在洗牌和缩小阶段使用这个性能,我需要至less有那么多的性能在networking上才能获得数据系统。
这只是让我(几乎)1:1超额订阅,如果我只需要与其他节点上交换机通信。 如果我的集群连接了多个交换机,那么现在我必须确保我有足够的容量来处理在洗牌过程中可能发生的大量东西向stream量,因为数据从映射器转移到了减速器中。
如果在集群中无法获取所需的数据,则所有的磁盘I / O都是无用的。 数据局部性和机架感知有助于整个MR过程的某些部分。
磁盘速度如何与I / O限制无关?
我完全和你们在一起,他们是联系在一起的,特别是对于Hadoop来说 – 我刚刚完成了一个新的集群devise,磁盘的速度绝对是一个重要的方面。
可能的解释: