Hadoop简述
Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS,HadoopDistributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构
Hadoop是一个基于JAVA的支持数据密集型分布式应用的分布式文件系统。不仅仅是一个用于存储的分布式文件系统,而是设计用来在由通用计算设备组成的大型集群上执行分布式应用的框架。它能够保证应用可以在上千个低成本商用硬件存储结点上处理PB级的数据。
对于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 优点
Ø 高可靠性,Hadoop按位存储和处理数据的能力指的信赖。
Ø 高扩展性,Hadoop的HDFS支持横向扩展,其存储能力、计算能力可随着数据节点增加而增加。
Ø 高效性,Hadoop能够在节点之间动态的移动数据,并保证各个节点的动态平衡,因此处理速度非常块。
Ø 高容错性,Hadoop 能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
Hadoop HDFS部署架构
NameNode 是元数据节点,存放并管理元数据。
DataNode 是数据节点,存放数据并负责数据计算、数据读写等操作。
图中Secondary NameNode为NameNode的备份。