Hadoop的概念及架构介绍

Hadoop是大数据开发所使用的一个核心框架。使用Hadoop可以方便的管理分布式集群,将海量数据分布式的存储在集群中(hdfs),并使用分布式程序来处理这些数据。(MapReduce)

标题 Hadoop生态系统

Hadoop由许多子系统组成,如下图:

hadoop文件架构图 hadoop基本架构图_架构


Hadoop只由Map Reduce和HDFS构成,其余都是其衍生出来的。

HDFS简介:

Hdfs是Hadoop项目的核心子项目,在大数据开发中通过分布式计算对海量数据进行存储与管理,它基于数据流模式访问和处理超大文件的需求而开发,可以运行在廉价的商用服务器上,为海量的数据提供了不怕故障的存储方法,进而为超大规模数据的处理带来很多便利。

HDFS特点:

1.支持大型数据集(1G以上)
2.遵循简单一致性模型
3.运行于廉价的商用服务器上(对计算机的配置要求不高,求数量多)
4.不适合低延迟的数据访问
5.存储大量小文件的效率不高
6.不支持多用户写入,不支持修改文件

HDFS的存储架构:

一个HDFS集群由一个元数据的节点(NameNode)和一些数据节点*(DataNode)组成。
NameNode是一个用来管理文件命名空间的主服务器,DataNode则用来管理对应节点的数据存储。
客户端发出请求到NameNode(是一个Java进程)(相当于集群管理员)——DataNode——客户端。
HDFS数据存储由一个元数据节点的存储的单位,默认64M
Name Node和DataNode:NamenNode存储文件元数据信息,DataNode存储实际文件数据。

关于MapReduce

  • MapReduce是一种可用于数据处理的编程模型。该模型比较简单,但要写出有用的程序不大容易。Hadoop可以运行各种语言版本的MapReduce程序。
  • Map 和 Reduce
    MapReduce任务过程分为两个处理阶段:map阶段和reduce阶段。每个阶段都以键值对作为输入和输出,其余类型都由程序员来选择。程序员还需要写两个函数: map函数reduce函数