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优势
-
高可靠性
- 数据存储:数据块多副本,即使一个节点挂了,在其他节点也能找到副本;
- 数据计算:重新调度作业计算,若当前作业失败了,会重新启动一个新的作业进行计算
-
高扩展性
- 存储/计算资源不够时,可以横向的线性扩展机器
- 一个集群中可以包含数以千计的节点
-
其他
- 存储在廉价机器上,降低成本
- 成熟的生态圈
来源:CSDN
作者:senga07
链接:https://blog.csdn.net/gates0087/article/details/104062358