我们正在评估采用Storm进行部署,但我有点担心。我们目前正在运行Hadoop MapReduce,并且希望将某些处理从MapReduce过渡到Storm进程。请注意,这只是一部分,但不是全部。我们仍然会有一些MapReduce功能。
我发现Mesos可以(潜在地)使我们能够在同一硬件上维护Storm和Hadoop部署,但是还存在其他一些问题:
我设想理想的情况是能够在Storm和Hadoop之间任意“借用”插槽。例如 两者都将根据需要使用相同的资源。不幸的是,这是固定部署,并且不像EC2那样是“基于云的”。
我想避免我们的Storm环境出现瓶颈。理想的情况是根据需要“启动”(或相反)更多的Bolt实例。这可能/现实吗?
“重新启动”拓扑似乎是一项相当昂贵的操作,但我不确定是否真的可以选择。理想情况下,我希望它尽可能地无缝。
我们是否正确地解决了这个问题?本质上,Storm拓扑将“提供” MapReduce批处理作业。我们的某些处理可以以流方式处理,并且作为Storm拓扑会更好,而某些处理则需要批处理。
任何一般性反馈,即使没有解决我的特定问题,也将受到欢迎。在这一点上,这更多是一个探索阶段,我可能完全以错误的方式来对待。