你们有人尝试过 Hadoop 吗?在无共享架构中,是否可以在没有随附的分布式文件系统的情况下使用它?这有意义吗?

我也对您的任何性能结果感兴趣......

有帮助吗?

解决方案

是的,您可以通过在不同位置使用文件 URI 而不是 hdfs URI 在本地文件系统上使用 Hadoop。我认为 Hadoop 附带的很多示例都是这样做的。

如果您只想了解 Hadoop 的工作原理和基本的映射缩减范例,这可能没问题,但您将需要多台机器和分布式文件系统才能真正获得架构中固有的可扩展性的好处。

其他提示

Hadoop MapReduce 可以在任意数量的文件系统甚至更抽象的数据源(例如数据库)上运行。事实上,有几个用于非 HDFS 文件系统支持的内置类,例如 S3文件传输协议. 。您还可以通过扩展基本的输入格式轻松构建自己的输入格式 输入格式类.

然而,使用 HDFS 带来了一定的优势。最有效的优点是 MapReduce 作业调度程序将尝试在存储需要处理的记录的物理机器上执行映射和缩减。这带来了性能提升,因为数据可以直接从本地磁盘加载,而不是通过网络传输,这取决于连接可能会慢几个数量级。

正如 Joe 所说,您确实可以在没有 HDFS 的情况下使用 Hadoop。然而,吞吐量取决于集群在数据存储位置附近进行计算的能力。使用 HDFS 有 2 个主要好处,恕我直言 1) 计算在集群中分布得更均匀(减少节点间通信量),2) 集群作为一个整体更能抵抗因数据不可用而导致的故障。

如果您的数据已经分区或可简单分区,您可能需要考虑为您的映射缩减任务提供您自己的分区函数。

了解 Hadoop 的最佳方法是下载它并开始探索包含的示例。使用 Linux 盒子/虚拟机,您的设置将比 Mac 或 Windows 容易得多。一旦您对示例和概念感到满意,就可以开始了解您的问题空间如何映射到框架中。

您可能会发现以下一些资源对于了解有关 Hadoop 的更多信息很有用:

Hadoop 峰会视频和演示文稿

Hadoop:权威指南:粗剪版 - 这是目前关于 Hadoop 的少数(唯一?)书籍之一。我想说,即使在这一点上,电子下载选项的价格也是值得的(这本书大约完成了 40%)。

Hadoop: The Definitive Guide: Rough Cuts Version

并行/分布式计算=速度 << Hadoop 使这变得非常非常简单且便宜,因为您只需使用一堆商用机器即可!!!

多年来,磁盘存储容量大幅增加,但读取数据的速度却没有跟上。一张磁盘上的数据越多,寻道速度就越慢。

Hadoop 是解决问题的分而治之的方法的巧妙变体。您本质上将问题分解为更小的块,并将这些块分配给几台不同的计算机以并行执行处理 加快速度 而不是一台机器超载。每台机器处理自己的数据子集,最后将结果组合起来。单个节点上的 Hadoop 不会为您提供重要的速度。

要了解 hadoop 的优势,您应该在同一机架上拥有一个至少包含 4 - 8 台商用机器(取决于数据大小)的集群。

您不再需要成为超级天才并行系统工程师才能利用分布式计算。只要了解 hadoop 和 Hive 就可以了。

是的,hadoop 可以在没有 HDFS 的情况下很好地使用。HDFS只是Hadoop的默认存储。您可以将 HDFS 替换为任何其他存储(例如数据库)。HadoopDB 是对 hadoop 的增强,它使用数据库而不是 HDFS 作为数据源。谷歌一下,你会很容易得到它。

如果您刚刚入门,请先下载 CDH4 并运行它。您可以轻松地安装到本地虚拟机中并以“伪分布式模式”运行,这与在真实集群中的运行方式非常相似。

是的,您可以使用 file:// 来使用本地文件系统,同时指定输入文件等,这也适用于小型数据集。但是 hadoop 的实际功能是基于分布式和共享机制。但是 Hadoop 用于处理大量数据。单台本地计算机无法处理大量数据,即使处理也需要很长时间才能完成这项工作。由于您的输入文件位于共享位置(HDFS) )多个映射器可以同时读取它,并减少完成工作的时间。简而言之,您可以将其与本地文件系统一起使用,但为了满足业务需求,您应该将其与共享文件系统一起使用。

上面很好的理论答案。

要将您的 hadoop 文件系统更改为本地,您可以在“core-site.xml”配置文件中更改它,如下面的 hadoop 版本 2.x.x 所示。

 <property>
    <name>fs.defaultFS</name>
    <value>file:///</value>
  </property>

对于 hadoop 版本 1.x.x。

 <property>
    <name>fs.default.name</name>
    <value>file:///</value>
  </property>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top