Architecture 可扩展存储&x2B;处理集群(Hadoop是我需要的吗?)
目标Architecture 可扩展存储&x2B;处理集群(Hadoop是我需要的吗?),architecture,hadoop,backend,application-server,san,Architecture,Hadoop,Backend,Application Server,San,目标 我需要为web应用程序实现文件存储和处理后端。应用程序具有以下特征: (#1)客户端将存储各种格式和大小的文件(可能在GB范围内) (#2)有时客户端需要检索文件本身 (#3)有时客户机需要检索输出数据(“OD”),其中对先前存储的文件执行处理以生成OD。重要提示:OD大小通常是原始文件大小的一小部分——2GB文件可能产生1MB OD)。 (#4)有时客户端会对文件应用转换(例如,文件修补)。 考虑解决方案 我可以使用存储集群(例如SAN)来实现#1和#2,然后使用计算集群来实现#3
我需要为web应用程序实现文件存储和处理后端。应用程序具有以下特征:
(#1)客户端将存储各种格式和大小的文件(可能在GB范围内)
(#2)有时客户端需要检索文件本身
(#3)有时客户机需要检索输出数据(“OD”),其中对先前存储的文件执行处理以生成OD。重要提示:OD大小通常是原始文件大小的一小部分——2GB文件可能产生1MB OD)。
(#4)有时客户端会对文件应用转换(例如,文件修补)。
考虑解决方案
我可以使用存储集群(例如SAN)来实现#1和#2,然后使用计算集群来实现#3和#4。但是,在SAN和计算集群之间传输大量数据(想象一下,有100多个用户请求ODs或修补文件)对我来说并不合适,特别是因为文件数据可能很大,而且大多数时候客户端只需要少量ODs或什么都不需要(修补操作消耗客户端输入,但不会将数据返回到客户端) 因此,我认为我需要的是一个节点集群,其中每个节点都是一个大数据节点和一个有能力的处理节点,以避免存储和处理集群之间的通信量(因为现在它们是一个)。节点负责处理其存储的文件,从而避免网络带宽。如果一个节点碰巧因处理请求而过载,那么该节点可能会将一些工作卸载给相邻节点(因此仍然会产生带宽成本,但只有在必要时) 问题
(1) Wikimedia使用“文件服务器”和单独的“图像缩放”服务器……但就我而言,我担心的是不必要的大带宽。我的担心是否合理?因此,在我的情况下,存储/处理节点的分离是否不合适 (2) 我的方法(大存储集群+强大的处理节点)是否可取?或者我应该考虑一种不同的架构 (2) 我考虑过Hadoop,但不知道它是否适合这项任务(巨大的带宽成本,而且我并不真正处理大数据)。另外,如果Hadoop适合这个任务,请说明原因 (3) 是否有开源/其他框架可用于管理这些服务器集群 (4) 如果没有,我想我将不得不开发一个内部解决方案。我该怎么开始呢
呼。那太多了。提前谢谢 Hadoop并同时使用HDFS和MR可能是一个可行的解决方案。注意事项和 但考虑到:
我认为Hadoop最接近我所需要的,尽管仍然存在文件处理和带宽方面的问题。谢谢