关于在线分布式环境

时间:2013-05-21 05:42:14

标签: hadoop amazon-web-services mapreduce distributed-computing

我正在学习Mapreduce和Hadoop。我知道我可以做一些测试并在单个节点上运行一些样本。但我真的想在真实的分布式环境中做一些练习。所以我想问: 是否有一个网站可以为我提供分布式环境进行实验?

有人告诉我,我可以使用亚马逊网络服务来构建分布式环境。这是真的吗?有人有这样的经历吗?

我想知道你们在工作中使用hadoop之前是怎么学习hadoop的?

谢谢!

4 个答案:

答案 0 :(得分:5)

有几个选择:

  • 如果您只想了解Map / Reduce范例,我建议您查看JSMapReduce。这是直接嵌入浏览器,您无需安装,您可以创建真正的Map / Reduce程序。
  • 如果你想特别了解Hadoop,亚马逊有一个名为Elastic Map Reduce的东西,它本质上是在AWS上运行的Hadoop,所以这使你可以编写你的Hadoop作业,决定你想在集群中有多少台机器,您需要哪种类型的机器,然后运行它,EMR将完成所有工作,为您启动机器,运行您的工作并将结果存储在S3上。我建议查看this tutorial以了解如何在EMR上设置作业。请记住,EMR 不是免费的,因此您必须为计算资源付费。

或者,如果您不想支付EMR的费用,您可以始终在非分布式模式下在本地计算机上设置Hadoop,并按照here所述进行实验。即使它是单节点设置,抽象也会像使用大型集群一样,所以这是一个很好的方法来加快速度,然后当你想要认真时,继续使用EMR或真正的集群。 / p>

答案 1 :(得分:1)

亚马逊提供了free tier,因此您可以启动一些虚拟机并尝试以这种方式进行试验。他们拥有的微实例并不是很强大,但对于小规模测试来说还是很好。

如果足够强大,您还可以在桌面上启动虚拟机。我自己使用VMPlayer完成了这项工作。你可以免费安装任何你喜欢的Linux。 Ubuntu很容易入手。为VM设置网络时,请务必使用桥接网络。这样,每个VM都会在您的网络上获得自己的IP地址,以便它们可以相互通信。

答案 2 :(得分:0)

嗯,这可能不是'100%在线',但应该提供一些非常好的替代方案。

如果您还没准备好为在线群集资源(例如此处提到的EMR解决方案)付费,并且您不想构建自己的群集但是您对单节点设置不满意,则可以尝试构建虚拟群集在足够强大的桌面上。

  • 你需要minimun 3 VM,我更喜欢Ubuntu。 4更好。要查看真正的Hadoop,您需要最少的复制因子3.因此,您需要3个dataNode,3个taskTrackers。那么,你还需要nameNode / JobTracker - 它可能是用于dataNode的节点之一,但我建议使用单独的VM。例如,如果您需要HBase,则需要一个Master和最少3个RegionServer。所以,再次,你需要3个但更好的4个VM,

  • 有一个非常好的免费产品,Cloudera CDH,它是“有点商业化”的Hadoop发行版。他们还拥有GU​​I和简化安装的经理。顺便说一句,他们甚至准备了演示虚拟机,但我从未使用它们。你可以download everything here。他们还收集了很多关于Hadoop及其环境的资料。

在桌面上使用虚拟机的完全免费解决方案和像EMR这样的付费服务之间的替代方案是,如果您有备用服务器,则构建在一个专用服务器之上的虚拟群集。这就是我个人所做的。一个物理服务器由VmWare免费解决方案,4个虚拟机,1个SSD操作系统和3个“通用”硬盘驱动器提供支持。每个VM都运行Ubuntu 11.04(再次免费)。 Cloudera经理免费版,CDH。所以一切都是免费的,但你需要一些通常作为备用的硬件。你有游乐场。好的,你需要投入时间,但在我看来,你将从这种方法中获得最大的经验。

答案 3 :(得分:0)

虽然我对此知之甚少,但另一个选择可能是Greenplum的分析工作台(1000个节点集群用于测试的Hadoop):http://www.greenplum.com/solutions/analytics-workbench