Hadoop概述
Posted adragon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop概述相关的知识,希望对你有一定的参考价值。
初始Hadoop
hadoop概述
查看官网,了解hadoop是一个开源的可靠的可扩展的分布式框架,它有很多的组件,比如Common,HDFS
YARN,MapReduce.
- Common:支持其他Hadoop模块的常用实用程序
- HDFS:是一个分布式文件系统,提供对应用程序数据的高吞吐量访问
- YARN:是一个作业调度和集群资源管理的框架
- MapReduce:基于YARN的系统,用于并行处理大型数据集
hadoop核心组件
分布式文件系统HDFS
HDFS特点
- 扩展性高,可以再集群中加入其他的单个服务器,来提高整个集群的性能
- 容错性高
- 海量的数量存储
- 将文件切分成指定大小的数据块并以多副本的存储在多个机器上(一般默认是128M的数据块)
数据切分,多副本,容错等操作对用户是透明的,也就是说我们不需要关心这些,我们操作对象还是文件,而不是数据块
分布式资源调度YARN
Yet Another Resource Negotiator- 负责整个集群资源的管理和调度
YARN特点:扩展性高,容错性高,多框架资源统一调度
图可以看出最下面是HDFS分布式文件系统,中间是YARN分布式资源调度系统,看出可以在YARN上跑很多的程序,比如pig,hive,hbase,spark等等。
分布式计算框架MapReduce
- 可扩展性,容错性,海量数量离线处理(因为离线处理,就说明了延迟性,不能实时处理)
下图:
- input
假设输入的数据为上面几个单词 - spliting
三台机器分别取出一部分 - mapping
开始映射值,每个单词出现的个数 - shuffling
重新开始洗牌,把相同的单词放在同一个机器中 - reducing
开始合并数据 - 最终的结果
hadoop优势
- 高可靠性
- 对于数据存储来说,数据块多副本。可以防止文件的丢失,提高容错性
- 对于数据计算来说,重新调度作业计算。即使发生了异常,自己也可以重新开始作业调度
- 高扩展性
- 对于存储/计算资源不够时,可以横向的线性扩展机器
- 一个集群中可以包含数以千计的节点
- 其他方面
- 存储在廉价的机器上,可以减低成本,在一般的PC就可以
成熟的生态圈
hadoop发展史
网上查infoq.com
hadoop的生态系统
侠义的hadoop:是一个适合大数据分布式存储(HDFS),分布式计算(MapReduce)和资源调度(YARN)的平台。
广义的Hapdoop:指的是hadoop生态系统,hadoop生态系统是一个很庞大的概念,hadoop是其中最重要最基础的一个部分,生态系统中每一个子系统只能解决某一个特定的问题域。
每个组件都有自己的应用场景
hadoop生态系统的提点
- 开源,社区活跃
- 囊括了大数据处理的方方面面
- 成熟的生态圈
hadoop发行版本的选择
- Apache Hadoop
存在着很多组件的jar包,各个组件有冲突 - CDH: Cloudera Distributed Hadoop
适用于新手,基本不存在jar包冲突,但不是完全开源 - HDP: Hortonworks Data Platform
完全开源的。
以上是关于Hadoop概述的主要内容,如果未能解决你的问题,请参考以下文章