Hadoop介绍
本章目标
- Hadoop介绍
- Hadoop技术架构
- Hadoop9大特性
1 Hadoop介绍
Hadoop是什么
Apache Hadoop是用Java写的开源,可扩展、而且容错的数据处理框架
-
Hadoop可以在普通硬件集群上高效处理大量数据集
-
Hadoop不仅是一个存储系统,而且也是大数据的处理平台
Hadoop是来自ASF(Apache Software Foundation)的开源工具,Hadoop的源代码大部分来自Yahoo, IBM, Facebook, Cloudera。Hadoop为在多个集群节点上运行任务提供了高效的框架,它在多台机器上同时并行处理数据的能力。
Hadoop的思想源于google,google曾发表过两篇关于MapReduce编程模型和文件系统GSF的论文,这是这两篇论文成为Hadoop的思想源泉。Hadoop最初用于Nutch搜索引擎项目,该项目有Doug Cutting带头开发,因此Doug Cutting也被称为Hadoop之父。之后不久,由于Hadoop越来越受欢迎,就变成了顶级项目
Doug Cutting
Hadoop与Java的关系
Hadoop是用Java写的一个开源框架,Java是Hadoop基础开发语言,但这不妨碍你使用其他语言进行编码,包括C, C++, Perl, Python, ruby等。但是使用Java语言将可以控制到Hadoop框架的最底层。
Hadoop关键模块
Hadoop包含三个关键模块
- Hadoop Distributed File System (HDFS):Hadoop存储层
- Map-Reduce:Hadoop的数据处理层
- YARN:Hadoop资源管理层
Hadoop除了具有可缩放(我们可以动态添加更多节点),容错性(如果其中的一些节点宕掉,其他节点可以继续处理宕掉节点上的数据)之外,还有如下重要特征使其成为独一无二的大数据平台:
- 灵活存储各种类型的数据,包括结构化,半结构化甚至非结构数据
- 擅长处理复杂数据。天生可缩放的架构可以在很多节点间均衡工作负载。hadoop文件系统消除了ETL(ETL[Extract,Tr