02 Hadoop概述

Hadoop概述

    • 1、Hadoop是什么
    • 2、Hadoop版本
    • 3、HDFS、YARN、MapReduce
      • (1) HDFS
      • (2)YARN
      • (3)MapReduce
      • (3)Hadoop模块之间的关系

1、Hadoop是什么

  • 是一个由Apache基金会开发的分布式系统基础架构。
  • 解决海量数据的存储以及分析计算。
  • 广义的Hadoop是一个更广泛的概念——Hadoop生态圈。
    02 Hadoop概述_第1张图片
    重点框架:Kafka、Spark、Flink、Hive、Hbase、Zookeeper、Yarn、MapReduce、HDFS

生态体系:
02 Hadoop概述_第2张图片

1)Sqoop:Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(MySql)间进行 数据的传递 ,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

2)Flume:Flume是一个高可用的,高可靠的,分布式的海量 日志采集 、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;

3)Kafka:Kafka是一种高吞吐量的分布式发布 订阅消息系统

4)Spark:Spark是当前最流行的开源大数据 内存计算框架 。可以基于Hadoop上存储的大数据进行计算。

5)Flink:Flink是当前最流行的开源大数据内存计算框架。用于实时计算的场景较多。

6)Oozie:Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统。

7)Hbase:HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。

8)Hive:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

9)ZooKeeper:它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。

2、Hadoop版本

  • 1.x版本系列:hadoop的第二代开源版本,该版本基本已被淘汰
  • 2.x版本系列:架构产生重大变化,引入了Yarn平台等许多新特性,是现在使用的主流版本。
  • 3.x版本系列:该版本是最新版本,但是还不太稳定。

Hadoop发行版本分为开源社区版和商业版:

  • 开源社区版:指由Apache软件基金会维护的版本,是官方维护的版本体系,版本丰富,兼容性稍差,对于入门学习最好。
  • 商业版:指由第三方商业公司在社区版Hadoop基础上进行了一些修改、整合以及各个服务组件兼容性测试而发行的版本,比较著名的有cloudera的CDHTDH

Hadoop1.x和2.x的区别:
02 Hadoop概述_第3张图片
在1.x时代,MapReduce同时处理业务逻辑运算以及资源的调度,耦合性较大;在2.x时,Yarn负责资源的调度,MapReduce只负责运算。

3、HDFS、YARN、MapReduce

(1) HDFS

单机容量往往无法存储大量数据,大数据需要跨机器存储。统一管理分布在集群上的文件系统称为分布式文件系统 。HDFS(Hadoop Distributed File System)就是一种Hadoop分布式文件系统,具备高度容错特性,支持高吞吐量数据访问,可以在处理海量数据(TB或PB级别以上)的同时最大可能的降低成本。HDFS适用于大规模数据的分布式读写,特别是读多写少的场景。

架构概述:
HDFS采用Master/Slave架构,一个HDFS集群有两个重要的角色,分别是Namenode和Datanode。
HDFS的四个基本组件:HDFS Client、NameNode、DataNode和Secondary NameNode。

  • NameNode:集群当中的主节点,主要用于管理集群当中的各种数据。存储文件的元数据(文件名、文件目录结构、文件属性),以及每个文件的块列表和块所在的DataNode等。

  • DataNode: 集群当中的从节点,主要用于存储集群中的各种数据(在本地文件系统存储文件块数据以及块数据的校验和)。

  • SecondaryNameNode:主要用于hadoop中元数据信息的辅助管理(每隔一段时间对NameNode元数据备份)。

02 Hadoop概述_第4张图片
HDFS的副本机制

  • HDFS能够在一个大集群中跨机器地存储超大文件。它将每个文件存储成一系列的数据块——block,除了最后一个block,所有的数据块都是同样大小的128M。
  • 为了容错,所有的block都会有副本,每个文件的数据块大小和副本系数都是可配置的。
    02 Hadoop概述_第5张图片

特点:

  • HDFS文件系统可存储超大文件,时效性稍差。

  • HDFS具有硬件故障检测和自动快速恢复功能。

  • HDFS为数据存储提供很强的扩展能力。

  • HDFS存储一般为一次写入,多次读取,只支持追加写入,不支持随机修改。

  • HDFS可在普通廉价的机器上运行。

(2)YARN

数据计算核心模块——Yarn

  • ResourceManager:接收用户的计算请求任务,并负责集群的资源分配。
  • NodeManager: 负责执行主节点分配的任务。
    02 Hadoop概述_第6张图片
    Container是YARN中的资源抽象,它封装了某个节点上多维度资源,如内存、CPU、磁盘、网络等。

(3)MapReduce

MapReduce将计算过程分为两个阶段:Map和Reduce

  • Map阶段并行处理输入数据
  • Reduce阶段对Map结果进行汇总
    02 Hadoop概述_第7张图片

(3)Hadoop模块之间的关系

  • MapReduce计算需要的数据和产生的结果需要HDFS来进行存储
  • MapReduce的运行需要由Yarn集群来提供资源调度。(MapReduce只是一段代码,需要Yarn提供资源进行调度)

你可能感兴趣的:(大数据,hadoop,大数据,hive)