我的工作是为静态图像/视频文件设计一个分布式系统。数据的大小大约是几十兆字节。它主要用于HTTP访问(因此不对数据进行处理;或者只进行简单的处理,例如调整大小--但是这并不重要,因为它可以直接在应用程序中完成)。
更清楚一点的是,这是一个系统:
我正在考虑:
有什么建议吗?
发布于 2013-07-17 07:57:09
我是“杂草-FS”的作者。对于您的需求,WeedFS是理想的。Hadoop不能处理很多小文件,除了您的原因之外,每个文件都需要在主文件中有一个条目。如果文件数量大,则hdfs主节点无法缩放。
当使用最新的Golang版本编译时,Weed正在变得更快。
最近在Weed上做了许多新的改进。现在,您可以很容易地测试和比较内置的上传工具。这个文件以递归方式上传到一个目录下。
weed upload -dir=/some/directory现在,您可以通过"du -k /some/目录“来比较磁盘的使用情况,并通过"ls -l /your/Weed/音量/目录”来查看Weed磁盘的使用情况。
我想你需要复制数据中心,机架,等等。他们现在在!
发布于 2013-06-02 07:15:39
Hadoop是针对大型文件进行优化的,例如,它的默认块大小为64M。很多小文件在Hadoop上既浪费又难以管理。
您可以查看其他分布式文件系统,例如GlusterFS
发布于 2013-06-02 06:03:23
Hadoop有一个用于访问文件的rest。请参阅文档中的这条目。我觉得Hadoop不是用来存储大量的小文件的。
在“2011年哈多普峰会”中,卡蒂克·兰加纳坦( Karthik Ranganathan )的这次谈话讲述了Facebook消息传递的内容: Facebook通过HDFS存储数据(个人资料、信息等),但它们在图片和视频中不使用相同的内容。他们有自己的系统,名为干草堆图像。它不是开源的,但是他们共享了抽象的设计层次的细节。
这让我想到了杂草-fs:一个受Haystack设计启发的开源项目。它为存储文件量身定做。我至今还没有用过它,但似乎值得一试。
https://stackoverflow.com/questions/16879878
复制相似问题