目录
- 1 基本Hadoop组件
- 2 应用和框架(在基本组件之上)
- 3 HDFS设计
- 4 MR框架和YARN
- MR框架
- 最初的MR框架
- 下一代:YARN
1 基本Hadoop组件
- Hadoop Common
- HDFS
- YARN
- MR
2 应用和框架(在基本组件之上)
- HBase
支持大型表的可扩展数据仓库 - Hive
数据仓库基础设施,提供数据摘要和即席查询 - Pig
高级数据流语言和并行计算执行框架 - Spark
快速通用的计算引擎,可以使用HDFS文件系统。
3 HDFS设计
最初的设计
- 可扩展的分布式文件系统
- 使用节点(nodes)将数据分布在本地磁盘上
- 多个低成本商品磁盘,高performance
goal:
- resilience(快速恢复的能力)(因为有多个磁盘工作,要防止其中的磁盘failure)
- 可扩展
- 本地应用
- 轻量级
设计
- 多个datanode,data存储在datanode中,默认会复制三份。作用:管理存储、为用户提供读写request,数据块的增删改
- 单个namenode
Hadoop2的HDFS
HDFS Federation
存在多个namenode,可以增加命名空间的可扩展性以及performance,同时可以隔离应用,这样在使用应用的时候就不会影响整个文件系统。
- 多个namemode server
- 多个命名空间(你真的知道什么是 “命名空间” 吗? - 知乎 (zhihu.com))
- 数据存在数据块池中(block pool)
- 高可用性(冗余namenode)
- 异构存储和归档存储(heterogeneous storage and archival storage)
4 MR框架和YARN
MR框架
mapreduce原理_mapreduce执行原理详解,各个阶段做了什么?_weixin_39583029的博客-CSDN博客
深入浅出讲解 MapReduce_哔哩哔哩_bilibili
MapReduce shuffle过程详解
- 软件框架——为了编写并行数据处理应用
优点:
- MR计算和HDFS存储节点是same,直接在datanode上进行计算,不用移动data
最初的MR框架
- 单个 jobtracker
- 每个job一个tasktracker
下一代:YARN
- 将资源管理和job计划&监控分离
- Global ResourceManager
- 每个节点都有NodeManager
- 每个应用都有ApplicationMaster
YARN的其他特征
- 高可用的RM:备用RM
- TimeLine Server
- Cgroups:管理容器使用的资源
- Secure Container