Win32平台的Hadoop/Map-reduce框架替代方案

3 投票
5 回答
1733 浏览
提问于 2025-04-16 20:52

我在Windows上使用Hadoop时感到有点沮丧:我想知道对于Win32用户有没有什么好的替代方案。对我来说,最看重的几个特点是:

  • 初始设置和在小型网络上的部署要简单(如果这个项目能有超过20台工作电脑,我会感到非常惊讶)
  • 管理要方便——理想的框架应该有基于网页或图形界面的管理系统,这样我就不需要自己写一个了。
  • 要流行且稳定。能按时交付这个项目是我们的额外目标。

背景:

我所在的公司想要建立一个新的网格系统来进行一些金融计算。

我正在评估的第一个框架是Hadoop。这个框架看起来正好符合我们的需求,但它非常偏向于UNIX。我能够在Ubuntu的虚拟机上顺利运行所有的教程。不幸的是,在Win32上似乎没有什么能顺利运行的。

没错……Win32:我们公司有个政策,所有东西都必须在Windows上运行。没有一个服务器管理员(或者除了少数几个开发者以外的人)懂Linux。如果他们发现我在用虚拟的Ubuntu环境,我可能会有麻烦!可悲的是,我们的网格必须在Win32上托管(因为所有的测试电脑都运行Windows XP 32位),而且将来可能会升级到Win64。

更复杂的是——我们想运行的95%都是Python脚本,配合C++的Windows 32位DLL插件。我们的计算库主要是用Python写的。我们的计算库只能在Windows上运行……我真的没有其他选择。

5 个回答

0

IPython 有一些简单的并行计算功能,这些功能在 Windows 系统上也能很好地运行。对于你的需求来说,这可能已经足够了。这里有个不错的入门链接:

http://showmedo.com/videotutorials/video?name=7200100&fromSeriesID=720

1

你可以试试MPI。它是一个用于消息传递的标准,适合并发应用程序。我们在自己的Linux集群上运行它,但它也可以在其他平台上使用。最流行的实现是mpich2,这个是用C语言写的。对于Python来说,可以通过mpi4py库来使用MPI。

2

对于Python,有以下几个工具:

  • disco
  • bigtempo
  • celery - 这其实不是一个真正的map-reduce框架,但如果你想要一些非常定制化的东西,它是个不错的起点

你还可以在pypi上找到很多与Hadoop相关的客户端和集成工具。

撰写回答