Hadoop核心组件

断了今生、忘了曾经 提交于 2020-01-25 07:56:50

Hadoop核心组件之分布式文件系统HDFS

概述
  • 源自于Google的GFS论文,论文发表于2003年10月
  • HDFS是GFS的克隆版
  • HDFS特点:扩展性&容错性&海量数据存储
特性
  • 将文件切分成指定大小的数据块并以多副本的存储在多个机器上面
    eg:假设有一个文件 test.log,它的大小是200M;此时需要将它切分为块(block),假设默认的 blocksize 是128M,那就需要切分为两个块=128M(blk1) + 72M(blk2)。在默认3副本的情况下,多台服务器中存储形式如下:

    	node1:blk1
     	node2:blk2
     	node3:blk1	blk2
     	node4:
     	node5:blk1	blk2
    

这种存储方式的好处就在于,假设 node1 节点挂掉了,但是在 node3 和 node5 中还有该文件块 blk1 的副本,因此不会影响到文件的操作。

  • 数据切分、多副本、容错等操作对用户是透明的
    上面那个例子中的处理对于用户来说是不感知的,就像操作单机一样操作分布式文件系统。
    在这里插入图片描述

Hadoop核心组件之分布式计算框架MapReduce

概述
  • 源自于Google的MapReduce论文,论文发表于2004年12月
  • MapReduce是Google MapReduce的克隆版
  • MapReduce特点:扩展性&容错性&海量数据离线处理
    在这里插入图片描述

Hadoop核心组件之资源调度系统YARN

概述
  • YARN:Yet Another Resource Negotiator
  • 负责整个集群资源的管理和调度
  • YARN特点:扩展性&容错性&多框架资源统一调度
    在这里插入图片描述

Hadoop优势

  • 高可靠性

    • 数据存储:数据块多副本,即使一个节点挂了,在其他节点也能找到副本;
    • 数据计算:重新调度作业计算,若当前作业失败了,会重新启动一个新的作业进行计算
  • 高扩展性

    • 存储/计算资源不够时,可以横向的线性扩展机器
    • 一个集群中可以包含数以千计的节点
  • 其他

    • 存储在廉价机器上,降低成本
    • 成熟的生态圈
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!