我们目前正在进行一个项目,希望在大约80-100台linux服务器的集群上执行图像/视频检测算法。我们搜索了一些可能的软件工具,认为hadoop是一个可能的解决方案。我在vmwareimage上安装了hadoop作为主/从配置,并且能够通过hadoop流执行用c++编写的分析程序。由于分析算法的性质,我们无法将大小约为1gb的视频文件拆分为多个分区。由于hadoop map/reduce的工作原理是将输入文件划分为64mb-128mb的分区,并将程序分配给分区所在的相应节点(数据位置),因此我无法使程序在从属节点上运行,而只能在主节点上运行。因此,在这一点上,我们可以让hadoop流媒体根据节点可用性(cpu等)而不是节点上的拆分位置来执行程序吗?我想知道hadoop是否是执行图像/视频检测算法的合适工具?有没有更好的解决方案,比如apachemesos/spark等。
真诚地
1条答案
按热度按时间b4wnujal1#
我们对上述问题进行了一些研究,得出的结论是,对于我们的案例,即只是针对特定的视频文件运行分析模块,hadoop/spark实现将是一种过度杀伤力,从反面展示耳朵。更好的实现将是利用开源mpi/调度器应用程序。经过分析,即使是开发一个运行在多个节点上的作业调度器似乎也相当容易,可以在相对2-3个月的时间内开发出来
真诚地