跳到内容
Caiden's Blog
返回

Hadoop概述

关于 Hadoop 概念和组成的基本介绍,以及大数据生态体系的介绍

Hadoop 概述

Hadoop 是什么?

  1. Hadoop 是一个由 Apache 基金会开源的一个分布式系统基础架构

  2. 主要解决海量数据的存储和计算

  3. 广义上来说,Hadoop 通常是指一个更广泛的概念,即 Hadoop 生态圈

    image-20220418103216519

Hadoop 三大发行版本

Hadoop三大发行版本:Apache、Cloudera、Hortonworks

Hortonworks现在已经被Cloudera公司收购,推出新的品牌CDP

Hadoop 优势

高可靠性

底层维护多个数据副本,即使某个计算元素或存储出现故障,数据也不会丢失

高扩展性

在集群间分配任务数据,可方便的扩展上千节点

高效性

在 MapReduce 思想下,Hadoop 是并行工作的,加快任务处理速度

高容错性

能够自动将失败的任务重新分配

Hadoop 组成

Hadoop 各个版本的区别

所谓资源调度:就是如何处理内存,cpu 的分配问题,比如说这个计算任务分给你多少内存,几个核这样

image-20220418104722849

HDFS 组成概述

HDFS:Hadoop Distributed File System 分布式文件系统

组成:

YARN 组成概述

组成:

image-20220418113553757

MapReduce 概述

MapReduce 是一个分布式计算框架,我们可以通过编写 MapReduce 程序到 Hadoop 集群上执行,并行处理大规模数据集

image-20220418115144127

  1. input 读取文本文件
  2. splitting:文件按行拆分,此时 k1 行号,v1 对应内容
  3. mapping:每行按照空格拆分,k2 是具体单词,v2 是单词频次
  4. shuffling:由于mapping 操作,可能是在不同机器上并行处理的,所以需要通过 shuffling 将相同 key 值的数据分发到同一个节点上去合并,这样才能统计出最终的结果,此时得到 K2 为 每一个单词, List(V2) 为可迭代集合, V2 就是 Mapping 中的 V2
  5. Reducing : 这里的案例是统计单词出现的总次数,所以 Reducing 对 List(V2) 进行归约求和 操作,最终输出

MapReduce 编程模型中 splitting 和 shuffing 操作都是由框架实现的,需要我们自己编程实现的 只有 mapping 和 reducing ,这也就是 MapReduce 这个称呼的来源

三者关系

image-20220418135035656

大数据生态体系

image-20220418135202512

说明:

  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是一个管理Hadoop作业(job)的工作流程调度管理系统
  7. Hbase:HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库
  8. Hive:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析
  9. ZooKeeper:它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等

一个推荐系统架构图

行为日志收集推入 kafka,然后通过 spark 或 flink 实时计算,最后结果入传统数据库或生成结果文件供推荐服务系统使用

image-20220418135519073


分享到:

上一篇
Hadoop集群搭建
下一篇
策略模式(Strategy)