Hadoop体系概述

Hadoop体系概述

Hadoop平台的发展过程

Hadoop是一个由Apache基金会开发的开源软件,具有可靠性、扩展性的分布式的计算存储系统

发展历程见文末。

Hadoop的特点

  • 高可扩展性:Hadoop是一个高度可扩展的存储平台,可以存储和分发横跨数百个并行操作的廉价的服务器数据集群。
  • 成本效益良好:Hadoop的架构被设计为一个向外扩展的架构,可以经济地存储所有公司的数据供以后使用。Hadoop是开源的,项目的软件成本因此会大大降低。
  • 灵活性更好:企业可以利用Hadoop 的灵活性从社交媒体、电子邮件或单击流量等数据源获得宝贵的商业价值。此外,Hadoop的用途非常广,诸如对数处理、推荐系统、数据仓库、市场活动分析以及欺诈检测。
  • Hadoop处理更快:处理大量的非结构化数据,Hadoop能够有效地在几分钟内处理TB级的数据。通过分发数据,Hadoop可以在数据所在的节点上并行地(Parallel)处理,这使得处理非常快速高效。
  • 容错能力强:数据被发送到一个单独的节点,该数据也被复制到集群的其他节点上,这意味着在故障情况下,存在另一个副本可供使用。

Hadoop名称与技术来源

Hadoop是由道格·卡丁虚构的一个名字,给一个棕黄色的大象玩具起的名。

Hadoop的出现来自Google的两款产品:GFS和MapReduce。

  • GFS用于存储不同设备所产生的海量数据,可以解决在网络抓取和索引过程中产生的大文件存储问题。
  • MapReduce运行在GFS之上,负责分布式大数据的计算,可以处理海量网页的索引问题。

Hadoop体系架构

Hadoop项目主要包括4个部分。

  1. Hadoop Common:支撑其他模块。
  2. Hadoop Distributed File System:分布式系统对应用提供高吞吐量的访问。
  3. Hadoop Yarn:资源管理和任务调度的一个框架。
  4. Hadoop MapReduce:能够并行处理大数据集的Yarn基本系统。

HDFS和MapReduce共同组成了Hadoop分布式系统体系结构的核心。

HDFS在集群上实现了分布式文件系统,MapReduce 在集群上实现了分布式计算和任务处理。HDFS在MapReduce任务处理过程中提供了文件操作和存储等支持,MapReduce在HDFS的基础上实现了任务的分发、跟踪、执行等工作,收集结果,二者相互作用,完成了Hadoop分布式集群的主要任务。

HDFS与MapReduce在Hadoop中的角色

HDFS体系结构

一个HDFS集群是由一个NameNode若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作。集群中的DataNode管理存储的数据。
NameNode是所有HDFS元数据的管理者,用户数据永远不会存储到NameNode上

MapReduce体系结构

MapReduce是一种并行编程模式。在早期的MapReduce框架中,主要是由一个单独运行在主节点上的JobTracker进程和运行在每个集群从节点上的TaskTracker进程共同组成的。

主节点JobTracker负责调度构成一个作业的所有任务,这些任务分布在不同的从节点TaskTracker上。主节点通过心跳机制(心跳,主从节点的通信时间间隔)监控它们的执行情况,并且重新执行之前失败的任务;从节点仅负责由主节点指派的任务。当一个Job被Client提交时,JobTracker接收到提交作业和配置信息之后,就会将配置信息等分发给从节点,同时调度任务并监控TaskTracker的执行。后来MapReduce的体系结构略有变化,实际上原理还是一致的。


Hadoop发展历程
大致发展历程如下:



原文地址:https://www.cnblogs.com/pipicai96/p/13872482.html