开源代码框架hadoop

本文深入探讨了Hadoop框架,包括HDFS的数据存储机制,NameNode、DataNode和SecondaryNameNode的角色,以及YARN的资源调度原理。在MapReduce部分,讨论了MapTask和ReduceTask的工作流程,以及HDFS数据读取过程和数据块大小的影响。Hadoop的优点在于高容错性和适合大数据离线处理,但不适合实时分析和处理大量小文件。
摘要由CSDN通过智能技术生成
  • 架构

    • HDFS:数据存储
      -NameNode:元数据(索引)
      -DataNode:具体的数据
      -SeconDaryNameNode:不是NameNode的热备
    • Yarn:资源调度
      -ResourceManager:所有节点的老大(一个RM管理多个NM)
      -NodeManager:单个节点的老大(一个NM管理多个container)
      -container:每一个容器都是一个资源的集合(硬盘,内存,cpu,网络)
      - ApplicationMaster:单个任务的老大
      - 所有的MapReduce的任务都是Container中运行的
      - 选择节点的时候原则(就近 - 随机)

在这里插入图片描述

  • MapReduse:计算
    - MapTask
    - ReduceTask

HDFS数据存储

  • 优缺点

    • 优点:
      • 默认3副本,容灾性强(高容错率)
      • 分布式的(适合大数据的离线处理)
      • 对机器要求不高,廉价的机器就可以集群
    • 缺点:
      • 不适合做实时的数据分析,不适合低延时的访问
      • 无法对大量的小文件进行处理
      • 不支持并发写入
  • HDFS默认几副本?

    • 默认3副本
  • 一个切片的大小?

    • 1.x 64M
    • 2.x 128M
  • HDFS读取数据的过程?

    • 1.打开文件
    • 2.获取数据块的信息
    • 3.读取请求
    • 4.读取数据(可能在多个节点上读取数据)
    • 5.关闭文件
  • HDFS数据块的大小会造成哪些影响

    • 寻址:根据NameNode去寻找DataNode(时间)
    • 处理:数据传输(时间)
    • 默认的原则是寻址时间为处理时间的1%
    • 处理时间跟什么有关系?跟硬盘的速率有关系,所以数据块的大小,根据是硬盘的速率来决定的
      • 这也是为什么1.x的时候64m,2.x - 128M
    • 数据块过大?
      • 处理时间过长
    • 数据块过小?
      • 大量的时候都花在了寻址上
        在这里插入图片描述

MapReduce

  • MR的shuffle?
    • 1.输入数据执行Map任务
    • 2.写入缓存
    • 3.溢写
    • 4.文件归并
  • MR的工作流程
    • 1.要处理一个文件
    • 2.将这个文件切片
    • 3.每一片都由一个Map来执行
    • 4.Map执行完之后交给Reduce
    • 5.Reduce处理完之后输入最终结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值