Hadoop对数据流不太大的系统有开销吗?

Hadoop对数据流不太大的系统有开销吗?,hadoop,distributed-computing,Hadoop,Distributed Computing,我计划编写一个批处理分布式计算系统,将使用大约10-20台计算机。系统某些部分的数据流约为~50GB,而其他部分的数据流则小得多~1GB 我正在考虑使用Hadoop。可伸缩性并不重要,但我非常喜欢Hadoop framewok提供的容错和推测性运行特性。类似或不类似的框架似乎提供了这样的机制,我必须自己实现它们 然而,我有一些疑问,因为它似乎是为更大的数据量和可能更多的计算机而优化的。例如,《权威指南》中明确提到的Hadoop一书: 高性能计算(HPC)和网格计算社区 多年来一直在使用消息传递等

我计划编写一个批处理分布式计算系统,将使用大约10-20台计算机。系统某些部分的数据流约为~50GB,而其他部分的数据流则小得多~1GB

我正在考虑使用Hadoop。可伸缩性并不重要,但我非常喜欢Hadoop framewok提供的容错和推测性运行特性。类似或不类似的框架似乎提供了这样的机制,我必须自己实现它们

然而,我有一些疑问,因为它似乎是为更大的数据量和可能更多的计算机而优化的。例如,《权威指南》中明确提到的Hadoop一书:

高性能计算(HPC)和网格计算社区 多年来一直在使用消息传递等API进行大规模数据处理 接口(MPI)。大体上,HPC中的方法是将工作分布到集群中 访问由SAN托管的共享文件系统的计算机的数量。这对我来说很有效 主要是计算密集型作业,但当节点需要 访问更大的数据量(数百GB,MapReduce真正需要的数据量) 开始发光),因为网络带宽是瓶颈和计算节点 变得无所事事

我的问题是:

  • 当Hadoop与相对少量的数据和/或计算机一起使用时,它会有相当大的开销吗
  • 是否有另一个框架以任何方式提供类似于Hadoop的容错处理

  • Hadoop将在您的环境中引入开销,无论是从操作角度(新系统仍在进行重大开发和更改);包含多个服务器和磁盘的集群,您必须维护这些服务器和磁盘;等等,以及计算开销——可以说“唤醒大象”需要一些时间,如果工作需要一个小时,这些时间可以忽略不计,但是如果你期望一个工作在一分钟内结束,这些时间是显而易见的


    特别是1GB甚至50GB的数据,这些天您可以在内存中存储,因此多线程、单服务器解决方案可以更有效地解决这一问题……

    您需要的延迟是什么?Hadoop本质上是一个批处理系统(与您提到的MPI不同)@arnnrotem Gal Oz,该系统将是一个批处理系统,不是实时的,甚至不是接近它的。容错目前比运行时更重要。感谢您的回答,这很有帮助。我忘了在我的问题中提到我已经有了一个计算机集群,所以我可能想利用它。有没有另一个框架像Hadoop一样具有容错性?有几个内存中的框架像datagrids(像gridgain、hazelcast、gigaspaces),有基于actor的系统像Akka(或者Erlang,如果你还没有在JVM语言上投入太多的话)和流式框架像S4或Storm。这完全取决于你的具体需要