- HDFS
- MapReduce
- 分布式并行运算
- Hadoop的其他子项目
hadoop学习笔记之一:初识hadoop
引言
最近了解到淘宝使用hadoop的项目多了起来,hadoop对于许多测试人员来说或许是个新鲜玩儿,因此,把自己之前整理的学习笔记整理发上来,希望通过此系列文章快速了解Hadoop的基本概念和架构原理,从而助于hadoop相关项目的测试理解和沟通。
Hadoop简介
Hadoop 是一个实现了 MapReduce 计算模型的开源分布式并行编程框架,借助于 Hadoop, 程序员可以轻松地编写分布式并行程序,将其运行于计算机集群上,完成海量数据的计算。
如果你对Hadoop不熟悉,下面这些名词你或许耳熟能详,Google File System、Google Map/Reduce模型、lucene 、Nutch、阿里云梯、云计算等,他们都与Hadoop有着或深或浅的关系,原来Hadoop离我们如此之近,那么花些时间继续了解它吧。
Hadoop的架构
先抛开Hadoop,简单地想想看,假设我们需要读一个10TB的数据集,怎么办?在传统的系统上,这需要很长时间,因为硬盘的传输速度是受限的。一个简单的办法是将数据存储在多个磁盘上,同时从多个磁盘并行读取数据,这将大大减少读取时间。
上面的方案需要解决两个主要问题,一个是硬件故障,要保证其中一个硬件坏了但数据仍然完整,Hadoop的文件系统HDFS(Hadoop Distributed Filesystem)提供了一种解决方式。另外一个问题是如何并行读取数据并合并保证正确性,通过MapReduce的编程模型可以简化这个问题。简而言之,Hadoop提供了一个稳定的共享存储和分析系统,存储由HDFS实现,分析由MapReduce实现,这两者构成了Hadoop的核心功能。