1. 从Google的“思想火花”到Apache的“燎原之火”
很多刚接触大数据的朋友,一上来就被Hadoop、HDFS、MapReduce这些词给整懵了。别急,咱们今天不聊那些让人头大的复杂公式,就聊聊这个故事是怎么开始的。你完全可以把它想象成一个“技术创业”的故事:几个天才工程师在实验室里搞出了颠覆性的想法,然后一群开源社区的“极客”们,把这些想法变成了人人可用的“基础设施”。
这个故事的开端,绕不开一家公司——Google。时间回到21世纪初,互联网数据开始爆炸式增长,Google的工程师们发现,传统的单机存储和计算方式,在处理全球网页索引这种级别的任务时,已经完全不够用了。他们面临的问题很具体:怎么存下几十亿个网页?又怎么快速地从这些网页里找到用户想要的信息?
于是,Google内部诞生了三篇后来被奉为“大数据圣经”的论文。这不是什么高深的理论宣告,更像是工程师们为了解决实际问题而写的“技术设计文档”。《The Google File System》 讲的是,如何用一堆便宜的普通电脑,通过巧妙的软件设计,拼成一个超级可靠、能存海量数据的“大硬盘”。《MapReduce: Simplified Data Processing on Large Clusters》 则解决了一个更头疼的问题:数据存好了,怎么算?它提出了一种编程模型,让程序员可以像写单机程序一样写代码,但这份代码能自动被拆分成无数个小任务,分发到成千上万台机器上并行执行,最后再把结果汇总起来。还有一篇 《Bigtable》,它探讨了如何在海量数据上实现快速的结构化查询,这直接催生了后来的HBase等系统。
当时,一个叫Doug Cutting的程序员正在捣鼓他的开源搜索引擎项目Nutch。他也遇到了同样的瓶颈:爬下来的网页越来越多,存储和索引都快搞不定了。当他读到Google的这几篇论文时,简直如获至宝。用他自己的话说,这就像“在黑暗中看到了灯塔”。他决定,借鉴这些思想,在Nutch项目中实现一个开源的分布式系统。这就是Hadoop最早的雏形。后来,这个子项目独立出来,并以Doug Cutting儿子玩具大象的名字命名,这就是Hadoop的由来。
所以,Hadoop从出生那天起,就带着强烈的“工程实践”基因。它不是凭空想象的理论,而是为了解决“数据多到一台机器装不下、算不动”这个具体得不能再具体的问题而生的。2006年,Hadoop项目正式被引入Apache软件基金会,从此开启了它作为开源大数据“基石”的传奇之路。我常常觉得,理解这一点比死记硬背概念更重要:Hadoop的本质,是一套用软件把大量廉价硬件组织起来,协同完成存储和计算任务的“方法论”和“工具箱”。
2. 核心三驾马车:HDFS、MapReduce与YARN的职责与演进
Hadoop生态看起来很庞大,但它的早期核心,或者说支撑起整个大厦的“承重墙”,就是三个组件:HDFS, MapReduce 和 YARN。咱们一个一个拆开看,它们各自解决了什么问题,又经历了怎样的变化。
2.1 HDFS:大数据世界的“地基”
你可以把HDFS(Hadoop Distributed File System) 想象成一个专门为超大文件设计的“网络硬盘”。它直接继承了Google GFS论文的思想。它的设计目标非常明确:


6582

被折叠的 条评论
为什么被折叠?



