当前位置: 首页 > 知识库问答 >
问题:

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

邹宏峻
2023-03-14

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

我正在考虑使用Hadoop。可扩展性并不重要,但我真的很喜欢Hadoop framewok提供的容错和推测运行功能。MPI或gearman等框架似乎不提供这样的机制,我将不得不自己实现它们。

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

性能计算(HPC)和网格计算社区多年来一直在使用消息传递接口(MPI)等API进行大规模数据处理。从广义上讲,HPC中的方法是将工作分布在一组机器上,这些机器访问由SAN托管的共享文件系统。这对于以计算密集型为主的作业非常有效,但当节点需要访问更大的数据量(数百GB,MapReduce真正开始发光的点)时,就会出现问题,因为网络带宽是瓶颈,计算节点变得空闲。

我的问题是:

  1. 当Hadoop与相对少量的数据和/或计算机一起使用时,它是否有相当大的开销?
  2. 是否有另一个框架以任何接近Hadoop的方式提供容错处理?

共有1个答案

墨高杰
2023-03-14

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

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

 类似资料:
  • 我刚刚开始研究系统调用。我想知道当进行系统调用时是什么导致了开销。 例如,如果我们考虑getpid(),当系统调用getpid()时,我的猜测是,如果控件当前位于子进程中,则必须进行上下文切换才能进入父进程以获取pid。这会导致间接费用吗? 此外,当调用getpid()时,会有一些元数据跨用户空间边界传输,并进入和退出内核。那么,用户空间和内核之间的不断切换也会导致一些开销吗?

  • 在上面的例子中,我们假设所有的进程只是CPU绑定进程。但是也忽略了上下文切换时间。 然而,如果考虑调度器在上下文切换中花费的时间,则系统的平均等待时间将增加,这也影响系统的效率。 上下文切换始终是开销。以下示例描述如果在系统中考虑上下文切换时间,效率将受到影响。 示例 在下面的例子中,假设有五个进程:,,,,和。 他们的到达时间和爆发时间如下。 进程ID 到达时间 突发时间 1 0 3 2 1 2

  • 我一直在寻找一种合适的方法来衡量Linux操作系统中各种系统调用的成本。过去有许多与此主题相关的问题,没有一个提供如何准确测量的详细描述。大多数答案都武断地宣称,系统调用的成本为1-2us,如果它在CPU上缓存,则为100个周期。 系统调用开销 系统开销 我能想到的测量系统调用成本的天真方法是在getpid()等系统调用中使用rdtscp指令。然而,这不足以准确测量open()、read()或wr

  • 问题内容: 我打开kibana并进行搜索,但出现碎片失败的错误。我查看了elasticsearch.log文件,然后看到此错误: 有什么办法可以增加593.9mb的限制? 问题答案: 您可以尝试在配置文件中将fielddata断路器的限制提高到75%(默认值为60%),然后重新启动集群: 或者,如果您不想重启群集,则可以使用以下方法动态更改设置: 试试看。

  • BigQuery->ParDo->BigQuery 该表有~2B行,不到1TB。 运行了8个多小时后,作业失败,出现以下错误: 作业id为:2015-05-18_21_04_28-9907828662358367047 此外,即使作业失败,它仍然在图表上显示为成功。为什么?

  • 一面 聊项目 2道sql lead/lag函数 like pandas基础 数据倾斜问题 二面 聊项目 表连接方式 数仓各层作用 数仓建模类型有哪些 维度模型有哪几种 sql执行计划 mr过程 数学建模怎么分工 为什么不读研 数据中台产品了解哪些 已oc #面经#