Hadoop
目录
Hadoop
大数据简介(6V)
Hadoop概述
一、发展历程:
二、模块:
三、版本:
四、下载安装
大数据简介(6V)
- Volume:数据量大,包括采集、存储和计算的量都非常大。大数据的起始计量单位至少是T、P(1024个T)、E(100万个T)或Z(10亿个T)
- Variety:种类和来源多样化。包括结构化、半结构化和非结构化数据,具体表现为网络日志、音频、视频、图片、地理位置信息等等,多类型的数据对数据的处理能力提出了更高的要求
- Value:数据价值密度相对较低,或者说是浪里淘沙却又弥足珍贵。随着互联网以及物联网的广泛应用,信息感知无处不在,信息海量,但价值密度较低,如何结合业务逻辑并通过强大的机器算法来挖掘数据价值是大数据时代最需要解决的问题
- Velocity:数据增长速度快,处理速度也快,时效性要求比较高
- Veracity:数据的准确性和可信赖度,即数据的质量
- Valence:大数据之间的连通性
- 随着大数据的发展,又增加了Vitality(动态性)、Visualization(可视化)、Validity(合法性)等
Hadoop概述
Hadoop是Apache提供的一个开源的、可靠的、可扩展的系统架构,可以利用分布式架构来进行海量数据的存储以及计算。需要注意的是Hadoop处理的是离线数据,即在数据已知以及不要求实时性的场景下使用。
一、发展历程:
创始人:Doug Cutting 和 Mike Caferalla
- 2002年,Doug Cutting和Mike Cafarella在设计搜索引擎Nutch的时候,爬取了整个互联网,一共获得了10亿个网页数据。因为互联网的数据大多数是非结构化的,所以无法存储在传统的关系型数据库中
- 2003年,Google发表一篇关于集群系统存储的论文:《The Google File System》(简称为GFS)
- 2004年,Cutting在基于GFS的基础上设计了NDFS(Nutch Distributed File System)
- 2004年,Google发表了另一篇关于集群系统计算的论文:《MapReduce: Simplified Data Processing on Large Clusters》
- 2005年,Doug根据谷歌的论文设计了在Nutch中使用的MapReduce
- 在Nutch0.8之后,将NDFS模块以及MapReduce模块独立出来,重命名为Hadoop,并将NDFS重命名为HDFS - Hadoop Distributed File System
- 2006年,Doug Cutting加入了Yahoo,雅虎为此专门成立了专门的团队和资源,将Hadoop发展成能够以Web网络规模运行的系统
- Doug Cutting在Yahoo的工作期间,先后设计了Hive,Pig,HBase等
- 后来Yahoo将Hadoop、Hive、Pig、HBase等贡献给了Apache
二、模块:
- Hadoop Common:基本模块,用于支持其他模块
- Hadoop Distributed File System:分布式存储框架
- Hadoop Yarn:任务调度和集群资源管理
- Hadoop MapReduce:分布式计算
- Hadoop Ozone:对象存储
- Hadoop submarine:机器学习引擎
三、版本:
- Hadoop1.0:Common、HDFS、MapReduce
- Hadoop2.0:Common、HDFS、MapReduce、Yarn 1.0和2.0不兼容
- Hadoop3.0:Common、HDFS、MapReduce、Yarn、Ozone 最新版本中宝行了Submarine
四、下载安装
- 下载地址:http://hadoop.apache.org/releases.html 安装
- Hadoop的安装分为单机方式、伪分布式方式和完全分布式方式。
- 单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。
- 伪分布模式 Hadoop守护进程运行在本地机器上,模拟一个小规模的的集群。可以使用HDFS和MapReduce
- 全分布模式 Hadoop守护进程运行在一个集群上。启动所有的守护进程,具有hadoop完整的功能,可以使用HDFS、MapReduce和Yarn,并且这些守护进程运行在集群中,可以真正的利用集群提供高性能,在生产环境下使用
伪分布式安装教程