什么是 Hadoop,它的用途是什么?

Ant*_*oun 28 hadoop

我喜欢阅读 ServerFault 有一段时间了,我遇到了很多关于 Hadoop 的主题。从全球的角度来看,我在找出它的作用时遇到了一些麻烦。

所以我的问题很简单:什么是 Hadoop?它有什么作用 ?它是干什么用的 ?为什么会踢屁股?

编辑:如果有人碰巧有使用 Hadoop 的用例的演示/解释,那就太棒了。

Kam*_*iel 26

直接从马嘴里说

Hadoop 是一个框架,用于在由商品硬件构建的大型集群上运行应用程序。Hadoop 框架透明地为应用程序提供可靠性和数据移动。Hadoop 实现了一个名为 Map/Reduce 的计算范式,其中应用程序被分成许多小的工作片段,每个片段都可以在集群中的任何节点上执行或重新执行。此外,它还提供了一个分布式文件系统 (HDFS),可将数据存储在计算节点上,从而在整个集群中提供非常高的聚合带宽。Map/Reduce 和分布式文件系统的设计都是为了让框架自动处理节点故障。

Map/Reduce 是一种由Google流行的编程范式,其中将任务分成小部分并分发到大量节点进行处理(map),然后将结果汇总为最终答案(reduce )。谷歌和雅虎将其用于他们的搜索引擎技术等。

Hadoop 是实现这种处理方案的通用框架。至于它为什么这么牛,主要是因为它提供了诸如容错之类的简洁功能,并且可以让您将几乎任何类型的硬件组合在一起进行处理。如果您的问题符合范式,它的扩展性也非常好。

您可以在网站上阅读所有相关信息。

至于一些例子,保罗举了几个,但这里还有一些你可以做的,不是以网络为中心的:

  • 渲染 3D 电影。“map”步骤将每一帧的几何分布到不同的节点,节点渲染它,渲染的帧在“reduce”步骤中重新组合。
  • 在分子模型中计算系统中的能量。系统轨迹的每一帧都在“地图”步骤中分配给一个节点。节点计算每一帧的能量,
    然后在“减少”步骤中总结结果。

本质上,该模型非常适用于可以分解为完全独立的类似离散计算的问题,并且可以重新组合以产生最终结果。


小智 10

Cloudera 有一些很棒的视频来解释 Map Reduce 和 Hadoop 背后的原理。

http://www.cloudera.com/hadoop-training-basic

MapReduce 背后的核心思想之一是,对于大型数据集,您将在磁盘上进行 io 绑定,因此在 Hadoop HDFS 中,您可以在许多节点之间进行拆分,从而实现并行处理。

系统管理员感兴趣的 Hadoop 的一些用途通常是处理大型日志文件集 - 我只能发布一个链接,但其中包括,谷歌应该可以找到这些:

  1. Rackspace 邮件日志查询
  2. 使用 pig 进行 Apache 日志分析 - 请参阅 Cloudera 博客
  3. 雅虎!打击垃圾邮件