Hadoop-HDFS的简单架构原理

1. Hadoop引言
Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。
对于Hadoop的集群来讲,可以分成两大类角色:Master和Slave。一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件系统的访问操作;集群中的DataNode管理存储的数据。MapReduce框架是由一个单独运行在主节点上的JobTracker和运行在每个集群从节点的TaskTracker共同组成的。主节点负责调度构成一个作业的所有任务,这些任务分布在不同的从节点上。主节点监控它们的执行情况,并且重新执行之前的失败任务;从节点仅负责由主节点指派的任务。当一个Job被提交时,JobTracker接收到提交作业和配置信息之后,就会将配置信息等分发给从节点,同时调度任务并监控TaskTracker的执行。
从上面的介绍可以看出,HDFS和MapReduce共同组成了Hadoop分布式系统体系结构的核心。HDFS在集群上实现分布式文件系统,MapReduce在集群上实现了分布式计算和任务处理。HDFS在MapReduce任务处理过程中提供了文件操作和存储等支持,MapReduce在HDFS的基础上实现了任务的分发、跟踪、执行等工作,并收集结果,二者相互作用,完成了Hadoop分布式集群的主要任务。
Hadoop-HDFS的简单架构原理

随着Hadoop的快速发展,Hadoop现在也已经发展成为包含多个相关项目的软件生态系统。
狭义的Hadoop核心只包括Hadoop Common、hadoop HDFS 和 Hadonp MapReduce 三个子项目,但和Hadoop核心密切相关的,还包括ZooKeeper、Hive、Pig和HBase等项目。
3. HDFS(hadoop distribute file system):hadoop 分布式文件系统。
Hadoop-HDFS的简单架构原理

4. NameNode
整个HDFS集群的管理者,不存储文件数据,只记录文件“元数据”信息。NameNode作为主服务器,管理文件系统的命名空间和客户端对文件系统的访问操作
5. 元数据:用来描述数据的数据称为元数据
6. DataNode:真正用来存储数据的节点
7. Block(数据块):由NameNode对数据文件进行切分最小单元,默认在Hadoop2, Hadoop3版本中一个block块为128M。
8. Replica(副本):HDFS集群为了保证数据高可用性,默认会对一个数据块进行3次备份