Hadoop第0部分:分布式存储计算平台及Hadoop入门

一、课程目标

  1. 分布式设计思想【了解】
  2. 大数据业务架构及技术生态【了解】
  3. Hadoop的起源发展及功能【掌握】
  4. HDFS的设计思想及架构【掌握】
  5. MR及YARN的设计思想【了解】

二、分布式设计思想

1、分布式本质

  • 集群:资源整合的问题
    • 单台机器:CPU、内存、网络、硬盘
      • 有限,限制了性能
    • 集群:将多台机器的资源进行整合
      • 整体
  • 分布式服务:将硬件集群变成一个整体
    • 本质:将任务进行拆分,依靠集群来实现分布式存储和计算,最终结果会合并
    • 结果:整体

2、分布式的设计

  • 存储

在这里插入图片描述

  • 计算

在这里插入图片描述

3、分布式架构

  • 普通分布式架构

在这里插入图片描述

  • 每台Tomacat是独立的

  • 主从分布式架构

    在这里插入图片描述

    • 主与从之间是有联系的

三、大数据业务架构及技术生态

1、大数据应用

  • 应用本质:“骗钱”
  • 大数据分析
    • 分析结果的好坏:运营
    • 分析用户的喜好
  • 用户画像
  • 推荐系统
  • 机器学习

2、大数据技术本质

  • 本质:对数据进行处理

3、大数据业务流程与大数据技术生态

在这里插入图片描述

四、Hadoop的起源发展及功能

1、Hadoop的起源

  • 谷歌做搜索引擎,发现问题:爬取到的数据太大,无法实现存储和计算
  • 谷歌研发:GFS = 【最早期的成熟的分布式文件系统】,并发布了该框架的设计论文
  • lucene子项目:Nutch项目
    • 自己写代码实现了这个框架:NDFS
  • 谷歌发布MapReduce论文:分布式计算
    • 自己写代码实现了这个框架:MapReduce
  • 将NDFS与MapReduce组合成新的框架:Hadoop v1 [logo:大象]
    • HDFS
    • MapReduce

2、Hadoop的发展

  • Apache的官网:https://hadoop.apache.org/old/
  • Hadoop生态
    • 动物园
  • 版本
    • 最新版本:3.x
    • 市场占比:2.x
  • 整个大数据的发展中,目前没有任何一个工具能替代Hadoop
    • 有些工具能替代Hadoop中的一个功能

3、Hadoop的功能及应用场景

  • Hadoop定义:分布式存储计算框架

  • 功能:

    • 大数据存储
    • 大数据计算
  • 应用场景

    • 所有大数据分布式平台
  • 官网的定义

    The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing.
    开源  可靠、可扩展分布式计算
    The Apache Hadoop software library is a framework that allows for the 
    distributed processing 
    分布式处理
    of large data
    大数据
    sets across clusters of computers using simple programming models. 
    允许使用简单的编程模式进行集群式的计算
    It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures.
    
    ||
    
    用最廉价【硬件配置比较低】的机器实现大数据的存储和计算
    
    

4、Hadoop的模块

  • Hadoop Common: The common utilities that support the other Hadoop modules.

    • 通用组件,用于框架之间集成的接口
  • Hadoop Distributed File System (HDFS™): A distributed file system that provides high-throughput access to application data.

    • 分布式文件系统,提供高吞吐量的数据访问
    • 解决:分布式存储
  • Hadoop YARN: A framework for job scheduling and cluster resource management.

    • Hadoop v2出现的一个组件
    • 解决问题:资源管理和任务调度
  • Hadoop MapReduce: A YARN-based system for parallel processing of large data sets.

    • 计算模型

      • Hadoop v1:分布式计算框架

        • 资源管理

        • 任务调度

        • 计算

        • 分布式主从
          -主节点:JobTracker

          -从节点:TaskTracker

      • Hadoop v2:分布式计算模型

        • 计算的逻辑
    • 模型:方式

      • 汽车这种方式
    • 框架:需求:我要去北京

      • 买票:买飞机、买汽车、买高铁
      • 坐车
      • 到达

五、HDFS的设计思想及架构

1、HDFS的功能及本质

  • Hadoop的分布式文件系统

    • 机器:需要操作系统
    • 操作系统: 内核 + shell[用户交互:文件系统 ]
    • 想要读写硬盘:必须经过文件系统
  • 本质:将多台机器的文件系统进行逻辑合并

    • 最终数据会写入每台机器的某一个目录中
  • 通过主动拆分数据和合并数据来实现分布式

在这里插入图片描述

2、HDFS的设计及架构

  • 主从架构
    • 主:NameNode:管理
      • 负责接客:接受所有客户端的请求【读或者写】
      • 管理:
        • 管理从节点:如果有从节点故障了,不能分配任务,用于监控分配任务
          • 心跳机制
        • 管理数据安全
      • 维护元数据【metadata】
        • 记录了每个文件对应的块,以及每个块所在机器的位置
        • 内存
    • 从:DataNode:干事【读和写】
      • 每一台存储的节点都会有一个DataNode进程,负责与当前文件系统进行交互
      • 每一个DataNode负责真正的读写的 实现
  • 特点
    • 分块:用于实现分布式存储
      • 默认按照128M来分块
    • 副本:DataNode存储块的时候,会复制多份
      • 默认复制2份,总共存3份

在这里插入图片描述

六、MR及YARN的设计思想

1、MapReduce的功能及设计理念

  • 作为一种计算方式存在
    • 任何一种方式都是有特定的流程
      • 坐飞机:买票、安检、候机、登机、飞行、目的地
      • 做汽车:买票、安检、等车、上车、陆地、目的地
  • 流程
    • 两个部分:Map阶段和Reduce阶段
    • 五大阶段:数据处理【读数据、处理数据、输出结果】
      • Input:读取数据
      • Map:处理逻辑1
        • 可以自己定义,默认为空
        • map
      • Shuffle:默认的逻辑不为空,可以自定义
      • Reduce:处理逻辑2
        • 可以自己定义,默认为空
        • reduce
      • Output:输出结果
  • 分布式计算模型
    • Map任务:启动多个MapTask进程来完成
    • Reduce任务:启动多个ReduceTask进程来完成
      • 默认为1个

2、YARN的功能及设计理念

  • 分布式主从结构

    • 主:ResourceManager:管理

      • 1-接客

        2-管理:从节点

        3-资源管理任务调度

    • 从:NodeManager:干事【启动进程实现计算】

  • 资源管理:

    • 将所有节点的资源进行整合,成为一个整体
    • 每个程序需要用资源,资源怎么分配
      • 每个task在每台机器上能使用多少资源,resourcemanager负责分配
  • 任务调度:

    • 默认程序类型:MapReduce
    • 运行程序,每个程序就是一个任务
    • 如果提交了多个程序,谁先执行,谁后执行

在这里插入图片描述

3、Hadoop

  • Hadoop:分布式存储计算框架
  • 模块
    • HDFS
      • 主从结构
        • NameNode
          • 接客
          • 管理:
            • 从节点:心跳机制
            • 数据安全:汇报机制,每个从节点会定时汇报自己所存储的 块的信息
          • 维护元数据
            • 用于提供文件检索以及数据的安全校验
        • DataNode
          • 负责真正的读写
          • 负责与当前机器的文件系统
    • MapReduce:在Hadoop2中作为模型,不作为框架
      • 五大阶段
        • Input
        • Map
        • Shuffle
        • Reduce
        • Output
      • 分布式计算模型
        • MapTask:分
        • ReduceTask:合
  • YARN:分布式资源管理及任务调度工具
    • 主从
      • ResourceManager:整个集群的资源管理和任务调度
      • Nodemanager:负责计算节点上的资源管理
    • 资源管理
      • 将集群所有的资源在逻辑上进行合并
      • 管理每一个计算节点能够使用的资源
    • 任务调度
      • 当提交多个任务进行计算时,计算的优先级
发布了7 篇原创文章 · 获赞 1 · 访问量 1256
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览