2009-01-22 56 views
14

我在考虑使用Hadoop来处理我现有的窗口大的文本文件2003服务器(约10四核机有16GB的RAM)上Hadoop的Windows服务器

的问题是:

  1. 有没有关于如何在Windows上配置hadoop集群的好教程?

  2. 有什么要求? java + cygwin + sshd?还要别的吗?

  3. HDFS,它在Windows上播放不错吗?

  4. 我想在流模式下使用hadoop。任何建议,工具或技巧来开发我自己的映射器/减速器在C#中?

  5. 你用什么来提交和监测工作?

感谢

+3

东西,如Linux的VMware的情况下,在Windows上运行可能比试图使用更少的痛苦直接Windows。 – 2011-08-23 20:50:24

回答

9

Hadoop documentation

的Win32支持为发展 平台。分布式操作 在Win32上没有得到很好的测试,所以它不支持 作为生产 平台

我认为这意味着:“你是你自己的。”

这就是说,有可能是希望,如果你不反胃有关安装Cygwin和一个Java垫片,根据Getting Started page of the Hadoop wiki

也可以使用运行Hadoop的 守护程序作为Windows服务 Java服务包装器(单独下载 )。这仍需要安装 Cygwin,因为Hadoop 需要其df命令。

我想底线是这听起来不可能,但你会一直游到上游。我现在已经完成了一些Hadoop安装(在Linux上用于生产,Mac用于开发),当它在其他平台上如此简单时,我不会打扰Windows。

+0

倾向于同意,我在Windows上安装Hadoop并且它不那么直接,不得不通过一些讨厌的java错误来解决一些我不会推荐给任何人的节点部署问题。你可以按照这个指南:[链接](http://v-lad.org/Tutorials/Hadoop/14%20-%20start%20up%20the%20cluster.html)获得一个好的Cygwin安装过程,如果你正在开始清理它可能会更简单。我确实找到了一个不使用Cygwin的安装Hadoop的指南(你只需要更改一些引用),似乎无法挖掘出来,但那真是**未知的领域。 – ToOsIK 2012-03-28 17:44:21

9

虽然不是您可能想听到的答案,但我强烈建议将这些机器重新命名为Linux服务器,并在那里运行Hadoop。您将受益于在该平台上进行的教程和体验以及测试,并花时间解决业务问题而不是运营问题。

但是,您仍然可以使用C#编写作业。由于Hadoop支持“流式”实现,因此您可以使用任何语言编写作业。使用Mono框架,您应该能够在Windows平台上编写几乎所有的.NET代码,并且只需在Linux上运行相同的二进制代码即可。

您也可以很容易地从Windows访问HDFS - 虽然我不建议在Windows上运行Hadoop服务,但您当然可以从Windows平台运行DFS客户端以将文件复制到分布式文件系统。

对于提交和监控作业,我认为你主要依靠自己的...我认为还没有为Hadoop作业管理开发任何好的通用系统。

+0

感谢您的回答。不幸的是,我无法重新映像服务器,也许我只会使用一些linux EC2实例。连接到Mono可能会有点棘手。 Luca – 2009-04-24 13:17:32

+0

祝你好运! EC2的部分应该很容易,而且根据我的经验,大多数.NET代码都可以在Mono上运行,而无需重新编译 - 所以希望实际上不需要“端口” – 2009-04-24 17:51:26

2

如果你正在寻找的map/reduce,你可以尝试寻找MySpace的新的map/reduce在Windows上运行的框架http://qizmt.myspace.com/