Hadoop介绍
Hadoop 是什么
Hadoop是一个开源软件框架,用于在商用硬件集群上存储数据和运行应用程序。它为任何类型的数据提供海量存储,巨大的处理能力以及处理几乎无限的并发任务或作业的能力。
- Hadoop是一个由 Apache 基金会所开发的分布式系统基础架构
- 主要解决海量数据的存储和海量数据的分析计算问题
- 广义上来说 Hadoop 通常是指一个更广泛的概念—— Hadoop 生态圈
Hadoop 发展历史
Lucene框架是Doug Cutting开创的开源软件,用Java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎。
Hadoop 创始人
发展历程
- 2001年年底Lucene成为Apache基金会的一个子项目
- 对于海量数据的场景,Lucene面对与Google同样的困难,存储数据困难,检索速度慢。
- 学习和模仿Google解决这些问题的办法 :微型版Nutch。
- 可以说Google是Hadoop的思想之源(Google在大数据方面的三篇论文)
- 2003-2004年,Google公开了部分GFS和MapReduce思想的细节,以此为基础Doug Cutting等人用了2年业余时间实现了DFS和MapReduce机制,使Nutch性能飙升。
- 2005 年Hadoop 作为 Lucene的子项目 Nutch的一部分正式引入Apache基金会。
- 2006 年 3 月份,Map-Reduce和Nutch Distributed File System (NDFS) 分别被纳入到 Hadoop 项目中,Hadoop就此正式诞生,标志着大数据时代来临。
- 名字来源于Doug Cutting儿子的玩具大象
Hadoop 三大发行版本
Hadoop 三大发行版本:Apache、Cloudera、Hortonworks
- Apache Hadoop 属于原始版本的 Hadoop
- Cloudera Hadoop 基于 Apache 版本开发改进,简称-CDH
官网:https://www.cloudera.com/downloads.html
- Hortonworks Hadoop 基于 Apache 版本开发改进,简称-HDP
目前 Hortonworks 与 Cloudera 合并
Hadoop 特点
- 高可靠性
Hadoop 按位存储和处理数据的能力值得人们信赖
- 高扩展性
Hadoop 是在可用的计算机集簇间分配数据完成计算任务的,这些集簇 可以方便地扩展到数以千计的节点中
- 高效性
Hadoop 能够在节点之间动态地移动数据, 以保证各个节点的动态平衡,因此 其处 理 速度非常快。
- 高容错性
任务执行失败能够自动重新分配,无需人工干预
Hadoop 组成
- Hadoop Common - 辅助工具
- Hadoop Distributed File System (HDFS) - 分布式文件系统
- Hadoop YARN - 资源调度
- Hadoop MapReduce - 分布式计算框架
HDFS 架构
HDFS 架构分为两大节点:Namenode
,Datanode
。HDFS 采用 Master/ Slave 架构对文件系统进行管理。
YARN 架构
MapReduce 架构概述
MapReduce将计算过程分为两个阶段:Map和Reduce
- Map阶段并行处理输入数据
- Reduce阶段对Map结果进行汇总