|
uu6088 发表于 2015-6-2 17:35 ![]()
HDFS个人觉得最适合的是离线大数据,文件数目超级大的话,会撑爆namenode的内存。而且HDFS的一个小文件, ...
首先明白hdfs存储机制。
namenode:记录对应关系,可以理解成文件分配表MBR
datanode:专门用于存储数据
Client取文件时都会从namenode上获取这个文件的datanode节点信息、block块信息,然后通过rpc从datanode上将文件数据取回来。
如果1K小文件多的话,在namenode上面的对应关系就会很多,这样对namenode很不利,所以hdfs默认block-size=64M,针对京东1K的图片文件,hadoop有har压缩机制(也就是说类似于我们常用的winrar),生成一个har文件后,记录har与1K小图片文件对应关系,用的时候从har里取回来就可以了,只是这样会增加cpu的压力。
俺想问的是他们是如何解决高并发?
缓存、CDN、负载 |
|