我正在考虑使用 hadoop 在我现有的 windows 2003 服务器上处理大型文本文件(大约 10 台四核机器和 16gb 的 RAM)
问题是:
有没有关于如何在 Windows 上配置 hadoop 集群的好教程?
有什么要求?java + cygwin + sshd ?还要别的吗?
HDFS,它在 Windows 上玩得好吗?
我想在流模式下使用 hadoop。在 C# 中开发我自己的映射器/减速器有什么建议、工具或技巧吗?
您使用什么来提交和监控作业?
谢谢
我正在考虑使用 hadoop 在我现有的 windows 2003 服务器上处理大型文本文件(大约 10 台四核机器和 16gb 的 RAM)
问题是:
有没有关于如何在 Windows 上配置 hadoop 集群的好教程?
有什么要求?java + cygwin + sshd ?还要别的吗?
HDFS,它在 Windows 上玩得好吗?
我想在流模式下使用 hadoop。在 C# 中开发我自己的映射器/减速器有什么建议、工具或技巧吗?
您使用什么来提交和监控作业?
谢谢
支持 Win32 作为开发平台。分布式操作在Win32上没有经过很好的测试,所以不支持作为生产平台。
我认为这可以转化为:“你靠自己。”
也就是说,根据Hadoop wiki的 Getting Started 页面,如果您对安装 Cygwin 和 Java shim 并不感到不安,那么可能会有希望:
也可以使用 Java 服务包装器将 Hadoop 守护程序作为 Windows 服务运行(单独下载)。这仍然需要安装 Cygwin,因为 Hadoop 需要其 df 命令。
我想底线是这听起来并非不可能,但你会一直逆流而上。我现在已经完成了一些 Hadoop 安装(在 Linux 上用于生产,Mac 上用于开发),当它在其他平台上如此简单时,我不会打扰 Windows。
虽然不是您可能想听到的答案,但我强烈建议将机器重新用作 Linux 服务器,并在那里运行 Hadoop。您将受益于在该平台上执行的教程、经验和测试,并花时间解决业务问题而不是运营问题。
但是,您仍然可以使用 C# 编写作业。由于 Hadoop 支持“流”实现,因此您可以使用任何语言编写作业。使用 Mono 框架,您应该能够获取在 Windows 平台上编写的几乎任何 .NET 代码,并在 Linux 上运行相同的二进制文件。
您还可以相当轻松地从 Windows 访问 HDFS —— 虽然我不建议在 Windows 上运行 Hadoop 服务,但您当然可以从 Windows 平台运行 DFS 客户端来将文件复制进和复制出分布式文件系统。
对于提交和监控作业,我认为您主要是靠自己……我认为目前还没有为 Hadoop 作业管理开发的任何好的通用系统。
如果您正在寻找 map/reduce,您可以尝试查看在 windows 上运行的 MySpace 新的 map/reduce 框架http://qizmt.myspace.com/