2015-07-13 44 views
0

如果我有6个数据节点,是它更快地把复制6,这样所有的数据会在我的所有节点复制这样的集群,而不必来回移动数据拆分查询(说在蜂巢)?我相信,如果你有3个复制,你把一个300GB的文件到HDFS,它分裂它只是在数据节点3,然后在6个节点需要用于它必须迁移数据的查询其他3个节点的数据不存在,造成较慢的响应..是否准确?将hdfs中的数据复制到所有节点上会更快吗?

+0

有一些地方在方程中丢失:如何快速是您的网络和磁盘,你经常打算读取数据? –

+0

我相信它很快,因为它在Azure中,应该很好连接。根据VM统计数据,磁盘的容量为16x500 IOPS。这些数据将整天用于查询。 –

+0

我不会建议你在VM磁盘上存储数据,因为它们真的很慢。你也应该在这些上使用Blob存储而不是HDFS。您只需使用HDInsight即可免费获得所有这些内容。 –

回答

0

我理解你的方式,你所谈论的数据局部性。一般来说,数据局部性可以减少运行时间,因为它可以节省阻止网络传输的时间。但事实上,如果您没有打开“HDFS短路本地读取”(默认关闭,请访问here),MapTask也会通过TCP协议读取该块,这意味着通过网络,即使块和MapTask都在同一个节点上。

最近,我对hadoop和HDFS进行了优化,我们用SSD来代替HDD盘,但是我们发现效果不好,时间也不短。因为磁盘不是瓶颈,网络负载不重。根据结果​​,我们得出结论cpu非常重。如果你想让你清楚的知道Hadoop集群的情况,我建议你使用神经节监视集群,它可以帮助你分析你的集群bottleneck.please看到here。最后,hadoop是一个非常庞大而复杂的系统,磁盘性能,cpu性能,网络带宽,参数值以及还有很多要考虑的因素。如果你想节省时间,你有很多工作要做,而不仅仅是复制因素。

相关问题