1.1 什么是Hadoop
Hadoop是由Apache基金会所开发的分布式系统基础架构,旨在解决海量数据存储和计算分析问题。狭义上来说,Hadoop是指Apache Hadoop开源框架,包含以下三种核心组件:
- Hadoop HDFS(Hadoop Distributed File System):分布式文件存储系统,解决海量数据存储问题。
- Hadoop Yarn:集群资源管理和任务调度框架,解决资源任务调度问题。
- Hadoop MapReduce:分布式计算框架,解决海量数据计算问题。
广义上来说,Hadoop通常是指围绕Hadoop打造的大数据生态圈,部分技术栈如下图所示
1.2 大数据技术生态体系
Hadoop官网:hadoop.apache.org
本小节主要作为技术了解内容,先总体了解下大数据技术生态体系技术分层,方便后续清楚的知道Hadoop相关技术栈技术所处的层及作用。下图是大数据技术生态每层及对应技术。
- zookeeper:分布式协调组件。
- HDFS:分布式文件系统。
- MapReduce:分布式计算框架。
- Hive:分布式数据仓库。
- HBase:分布式数据库。
- Flume:日志采集框架。
- Sqoop:数据导入/导出工具。
- pig:工作流引擎。
- Mahout:机器学习算法库。
- oozie:作业流调度工具。
- Ambari:大数据集群管理平台。
Hadoop官网:hadoop.apache.org
本小节主要作为技术了解内容,先总体了解下大数据技术生态体系技术分层,方便后续清楚的知道Hadoop相关技术栈技术所处的层及作用。下图是大数据技术生态每层及对应技术。
1.4 Hadoop优势特点
Hadoop具备如下优势特点:
- 低成本
Hadoop可以由多台廉价普通机器组成,支持TB和PB级别数据存储,并不需要运行在昂贵且高可靠性的硬件上。 - 高可靠、容错性
HDFS中数据存储有多副本支持数据高可靠性,即使一些副本出现故障也能保障数据可使用。MapReduce计算过程中任务失败,可以自动进行任务重新分配进行任务重试。此外,HDFS和Yarn都支持高可用配置,当主节点挂掉时,可以自动选主切换,保证集群可靠性。 - 高扩展性
Hadoop集群可以扩展到上千个节点以支持数据存储和计算,节点多支持数据量大、支持更大并行度的并行计算。 - 高效性
Hadoop可以并行在节点之间动态移动数据,保证各个节点数据动态平衡;基于MapReduce进行数据处理计算时,可以并行处理数据,效率极高。
总之,Hadoop具备高可靠、高容错、高扩展、高效性这些优势在互联网领域中已经得到广泛运用。