1. Hadoop的简单介绍
1.1 狭义
Hadoop指的是Apache软件基金会的一款开源软件,允许用户使用简单的编程模型实现跨机器集群对海量数据进行分布式计算处理。
Hadoop核心组件
Hadoop HDFS(分布式文件存储系统):解决海量数据存储。
Hadoop YARN(集群资源管理和任务调度框架):解决资源任务调度。
Hadoop MapReduce(分布式计算框架):解决海量数据计算。
1.2 广义
广义上Hadoop指的是围绕Hadoop打造的大数据生态圈。
1.3 现状
- HDFS作为分布式文件存储系统,处在生态圈的底层与核心地位;
- YARN作为分布式通用的集群资源管理系统和任务调度平台,支撑各种计算引擎运行,保证了Hadoop地位;
- MapReduce作为大数据生态圈第一代分布式计算引擎,由于自身设计的模型所产生的弊端,导致企业一线几乎不再直接使用MapReduce进行编程处理,但是很多软件的底层依然在使用MapReduce引擎来处理数据。
2. Hadoop特性
实际应用场景
- Yahoo
支持广告系统
用户行为分析
支持Web搜索
反垃圾邮件系统 - Facebook
存储处理数据挖掘和日志统计
构建基于Hadoop数据仓库平台(Apache Hive来自FB) - IBM
蓝云基础设施构建
商业化Hadoop发行、解决方案支持 - 百度
用户搜索表征的需求数据、阿拉丁爬虫数据存储
数据分析和挖掘 竞价排名 - 阿里巴巴
为电子商务网络平台提供底层的基础计算和存储服务
交易数据、信用数据 - 腾讯
用户关系数据
基于Hadoop、Hive构建TDW(腾讯分布式数据仓库) - 华为
对Hadoop的HA方案,以及HBase领域有深入研究
3. Hadoop发行版本
3.1 Hadoop 1.0
HDFS(分布式文件存储)
MapReduce(资源管理和分布式数据处理)
3.2 Hadoop 2.0
HDFS(分布式文件存储)
MapReduce(分布式数据处理)
YARN(集群资源管理、任务调度)
3.3 Hadoop 3.0
架构组件和Hadoop 2.0类似,3.0着重于性能优化。
- 通用方面
精简内核、类路径隔离、shell脚本重构 - Hadoop HDFS
EC纠删码、多NameNode支持 - Hadoop MapReduce
任务本地化优化、内存参数自动推断 - Hadoop YARN
Timeline Service V2、队列配置