V-xin:ruyuanhadeng获得600+页原创精品文章汇总PDF
这篇文章,我们来聊一聊在十亿级的大数据量技术挑战下,世界上最优秀的大数据系统之一的Hadoop是如何将系统性能提升数十倍的?
首先一起来画个图,回顾一下Hadoop HDFS中的超大数据文件上传的原理。
其实说出来也很简单,比如有个十亿数据量级的超大数据文件,可能都达到TB级了,此时这个文件实在是太大了。
此时,HDFS客户端会给拆成很多block,一个block就128MB。
这个HDFS客户端你可以理解为是云盘系统、日志采集系统之类的东西,比如有人上传一个1TB的大文件到网盘,或者是上传个1TB的大日志文件。
然后HDFS客户端把一个一个的block上传到第一个DataNode,第一个DataNode会把这个block复制一份,做一个副本发送给第二个DataNode,然后第二个DataNode发送一个block副本到第三个DataNode。
所以你会发现,一个block有3个副本,分布在三台机器上。任何一台机器宕机,数据是不会丢失的。
然后一个TB级大文件就被拆散成了N多个MB级的小文件存放在很多台机器上了,这不就是分布式存储么?
今天要讨论的问题,就是那个HDFS客户端上传TB级大文件的时候,到底是怎么上传呢?
如果用一个比较原始的方式来上传,