与主题读取一样,重要的是我获得专用硬件来运行hadoop集群而不是VM?如果是,那么可接受的网络延迟是多少?您需要拥有千兆以太网吗?我想利用hadoop来加速ETL过程。在尝试这样做时,我确实设置了几个VM(512-1GB RAM,每个VM的双核2.2Mhz CPU 1核),相距约500英里,在100Mpbs以太网上的网络延迟为10-25ms。我无法为我的ETL过程匹配单个机器性能,将3-4个VM作为节点。所以,我想我会在这里提出这个问题以获得更多见解。
答案 0 :(得分:1)
这在很大程度上取决于您的任务,但通常情况下,这一切都非常重要 - 包括网络延迟,带宽,CPU负载/可用性,
我可以想象一些网络带宽不是很重要的场景 - 例如,如果你已经将数据阵列加载到HDFS,即它干净地分布在所有节点上,你就要做了在映射器中对此阵列进行复杂计算,根本没有减速器,或者只有很少一部分数据用于减速器。例如,如果您要计算文本文件中的行数,则映射器将读取多GB文件并仅将一个简单数字推送到reducer - 行数。减速器将总结这些数字并在输出中推送单个答案。它实际上没有通过网络转移=>对性能没有影响。
然而,在现实生活中,你很少会遇到这样的任务。通常在映射器和缩减器之间存在一些分组,因此大多数每组计算都由缩减器执行 - 即,缩减器必须从映射器传输所有数据,通常使用网络很大。
如果您要详细说明您的任务,我可以更详细地估算您想要使用的硬件以及当前解决方案的弱点。
答案 1 :(得分:0)
专用硬件始终很重要 你的虚拟机肯定没有足够的RAM,网络延迟也很重要,但是对于3-4个节点来说,100Mbps就足够了。