我正在尝试在 Windows 上运行的应用程序中使用 Mahout。我想使用 k-means 从 lucene 索引构建集群。
一旦我必须创建序列文件(从 lucene 索引创建向量),我就会得到一个 Hadoop 异常,因为 Hadoop 对 Windows 环境中未知的程序(例如 chmod)进行命令行调用。在 Cygwin 中运行不是一种选择,因为我希望能够从 Eclipse 运行应用程序。
所以我的问题是
我正在尝试在 Windows 上运行的应用程序中使用 Mahout。我想使用 k-means 从 lucene 索引构建集群。
一旦我必须创建序列文件(从 lucene 索引创建向量),我就会得到一个 Hadoop 异常,因为 Hadoop 对 Windows 环境中未知的程序(例如 chmod)进行命令行调用。在 Cygwin 中运行不是一种选择,因为我希望能够从 Eclipse 运行应用程序。
所以我的问题是
在 Windows 环境中运行 Hadoop 的唯一方法是安装 Cygwin。有关更多信息,请参阅此博客文章:
http://hayesdavis.net/2008/06/14/running-hadoop-on-windows/
Cygwin 将提供 Hadoop 所依赖的所有命令行实用程序(如 chmod)。如果需要,您仍然可以在 Eclipse 中运行 Hadoop 作业。
你知道SequenceFile
API吗?看看这里:http ://hadoop.apache.org/common/docs/current/api/org/apache/hadoop/io/SequenceFile.html
您可以尝试自己写/读数据。
我认为您可以在 Windowns 中以独立模式从 eclipse 运行 Mahout。但是你会出现几个缺点和障碍。你应该试试你能走多远。
在我看来,你不应该坚持从 eclipse 运行 mahout。;-)
您可以使用虚拟机来运行您的 Hadoop 环境。至于我,最好的解决方案是使用http://hortonworks.com/项目。一切都很好。