1.1 Hadoop 简介
Hadoop是Apache软件基金会旗下的一个开源分布计算平台,为用户提供底层细节透明的分布式基础架构。
Hadoop是基于JAVA语言开发的,由于JAVA语言的特性,所以具有很好的跨平台,并且可以部署在廉价的计算机集群中。
Hadoop目前有三个版本:hadoop1,Hadoop2.0和Hadoop3.0Alpha1。本文将主要介绍前两个版本的核心组件及工作流程。
1.2 Hadoop1.0和YARN
1.2.1 Hadoop1.0
1.2.1.1 Hadoop1.0的核心组件
Hadoop1.0的核心组件含有:分布式文件系统(Hadoop Distributed FileSystem,HDFS)和分布式并行编程模型(MapReduce)。
① HDFS
首先介绍一下计算机集群结构和分布式文件系统。
图1为计算机集群的基本架构。分布式文件系统把文件分布存储在多个计算机节点上,若干个计算机节点构成计算机集群。
图1 计算机集群的基本架构
分布式文件系统在物理结构上是由计算机集群中的多个节点构成。这些节点分为两类,一类叫做“主节点”(Master Node)或称为NameNode,另一类叫“从节点”(Slave Node)或称为DataNode。
图2 文件系统的整体结构
HDFS是一个分布式文件系统,具有高容错(fault-tolerant)的特