Hadoop大数据开发框架学习

一.Hadoop框架介绍

hadoop是Apache发布的开源分布式基础架构
他的两个核心是

  • HDFS
    HDFS是Hadoop的文件管理系统,负责了海量数据的存储,是做大数据的基础
  • MapReduce
    MapReduce则是为了海量数据提供了计算

两部分就组成了Hadoop的分布式基础架构

二.HDFS介绍

HDFS作为Hadoop为存储海量数据,自然有着与传统文件系统有着不同的结构,它是以Linux文件系统的基础的架构,构建里一套分布式文件系统,它是由一个NameNode和多台DataNode组成的。
他通过将文件进行划分,分成多个数据块进行存储。(默认64MB,一般设置为128MB,备份X3)
NameNode

  • 管理文件系统的命名空间,存放文件元数据
  • 维护文件系统的所有文件和目录,文件与数据块的映射
  • 记录每个文件中各个块所在数据节点的信息

DataNode

  • 存储并检索数据块
  • 香NameNode更新所存储块的列表

优点

  • 适合大文件存储,有副本策略
  • 可以构建在廉价机器上,有一定容错和恢复机制
  • 支持流式数据访问,一次写入多次读取

缺点

  • 不适合大量小文件存储
  • 不适合并发写入,不支持文件随机修改
  • 不支持随机读等低延时的访问方式

二.Yarn

yarn是Hadoop 中的资源管理器,MapReduce通过yarn来调度。
ResourceManager

  • 分配和调度资源
  • 启动并监控ApplicationMaster
  • 监控NodeManager

ApplicationMaster

  • 为MapReduce类型程序申请资源,并分配给内部任务
  • 负责数据的切分
  • 监控任务的执行与容错

NodeManager

  • 管理单个节点的资源
  • 处理来自ResourceManager的命令
  • 处理来自ApplicationMaster的命令

四.MapReduce

MapReduce采用分而治之的编程思想

  1. 输入一个大文件,通过split之后,将其分为多个分片
  2. 每个文件分片由单独的机器去处理,这就是Map方法
  3. 将每个机器计算的结果进行汇总并得到最终的结果,这就是Reduce方法
    原文作者:MapReduce
    原文地址: https://yq.aliyun.com/articles/632660
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞