目录
Hadoop的四大组件:
- HDFS:分布式存储系统
- MapReduce:分布式计算系统
- YARN:Hadoop的资源调度系统
- Common:以上三大组件的底层支撑组件,主要提供基础工具包和RPC工具框架。
1、HDFS概述
定义:Hadoop分布式文件系统(Hadoop Distributed Filesystem),以流式数据访问模式来存储超大文件。
2、HDFS基本结构
- Client:客户端
- NameNode:记录元数据,主要功能是对内存及IO进行集中管理。
- DataNode:文件系统的工作节点,根据需要存储和检索数据块,并且定期向namenode发送他们所存储的块的列表。
- Secondary NameNode:定期保存HDFS元数据的快照。
3、Block的副本放置策略
- 第一个副本:放置在上传文件的DN;如果是集群外提交,则随机挑选一台磁盘不太满,CPU不太忙的节点。
- 第二个副本:放置在于第一个副本不同的机架的节点上。
- 第三个副本:与第二个副本相同集群的节点。
- 更多副本:随机节点。
4、主要组件及其功能
NameNode | DataNode |
存储元数据 | 存储文件内容 |
元数据保存在内存中 | 文件内容保存在磁盘 |
保存文件,block,datanode之间的映射关系 | 维护了block id到datanode本地文件的映射关系 |
5、数据损坏(corruption)处理
6、HDFS网络拓扑结构
案例说明:
7、实例分析
- 写文件到HDFS中
- Hadoop的Rack Aeareness
- 写HDFS的准备过程
- 管道写方式
- 多个块的复制
- 重新复制丢失的副本