Hadoop学习笔记(一)——Hadoop体系结构
2014-07-30 17:34
239 查看
HDFS和MapReduce是Hadoop的两大核心。整个Hadoop体系结构主要是通过HDFS来实现分布式存储的底层支持的,并且通过MapReduce来实现分布式并行任务处理的程序支持。
一、HDFS体系结构
HDFS采用了主从(Master/Slave)结构模型。一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中,NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。HDFS典型的部署是在一个专门的机器上运行NameNode,集群中的其他机器各运行一个DataNode;也可以在运行NameNode的机器上同时运行DataNode,或者一台机器上运行多个DataNode。一个集群只有一个NameNode的设计大大简化了系统架构。
从最终用户的角度来看,它就像传统的文件系统一样,可以通过目录路径对文件执行CRUD(Create/Read/Update/Delete)操作。
NameNode管理文件系统的元数据,DataNode存储实际的数据。客户端通过同NameNode和DataNodes交互访问文件系统。客户端联系NameNode以获取文件的元数据,而真正的文件I/O操作时直接和DataNode进行交互的。
下图为HDFS体系结构:
文件写入(Or客户端文件上传):
1、Client向NameNode发起文件写入的请求。
2、NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。
3、Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。
文件读取:
1、Client向NameNode发起文件读取的请求。
2、NameNode返回文件存储的DataNode的信息。
3、Client读取文件信息。
客户端:将文件切分为block依次上传;与NameNode交互获取文件位置信息;与DataNode交互读取或者写入文件;管理和访问HDFS
二、MapReduce体系结构
MapReduce是一种并行编程模式,利用这种模式软件开发者可以轻松编写出分布式并行程序。在Hadoop体系结构中,MapReduce是一个简单易行的软件框架,基于它可以将任务分发到由上千台商用机器组成的集群上,并以一种可靠容错的方式并行处理大量数据集,实现Hadoop并行任务处理能力。
MapReduce框架是由一个单独运行在主节点的JobTracker和运行在每个集群从节点的TaskTracker共同组成的。主节点负责调度构成一个作业的所有任务,这些任务分布在不同的从节点上。主节点监控他们的执行情况,并且重新执行之前失败的任务;从节点仅负责由主节点指派的任务。
当一个Job被提交时,JobTracker接收到提交作业和其配置信息之后,就会将配置信息等分发给从节点,同时调度任务并监控TaskTracker的执行
后续会不断完善补充……
一、HDFS体系结构
HDFS采用了主从(Master/Slave)结构模型。一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中,NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。HDFS典型的部署是在一个专门的机器上运行NameNode,集群中的其他机器各运行一个DataNode;也可以在运行NameNode的机器上同时运行DataNode,或者一台机器上运行多个DataNode。一个集群只有一个NameNode的设计大大简化了系统架构。
从最终用户的角度来看,它就像传统的文件系统一样,可以通过目录路径对文件执行CRUD(Create/Read/Update/Delete)操作。
NameNode管理文件系统的元数据,DataNode存储实际的数据。客户端通过同NameNode和DataNodes交互访问文件系统。客户端联系NameNode以获取文件的元数据,而真正的文件I/O操作时直接和DataNode进行交互的。
下图为HDFS体系结构:
文件写入(Or客户端文件上传):
1、Client向NameNode发起文件写入的请求。
2、NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。
3、Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。
文件读取:
1、Client向NameNode发起文件读取的请求。
2、NameNode返回文件存储的DataNode的信息。
3、Client读取文件信息。
客户端:将文件切分为block依次上传;与NameNode交互获取文件位置信息;与DataNode交互读取或者写入文件;管理和访问HDFS
二、MapReduce体系结构
MapReduce是一种并行编程模式,利用这种模式软件开发者可以轻松编写出分布式并行程序。在Hadoop体系结构中,MapReduce是一个简单易行的软件框架,基于它可以将任务分发到由上千台商用机器组成的集群上,并以一种可靠容错的方式并行处理大量数据集,实现Hadoop并行任务处理能力。
MapReduce框架是由一个单独运行在主节点的JobTracker和运行在每个集群从节点的TaskTracker共同组成的。主节点负责调度构成一个作业的所有任务,这些任务分布在不同的从节点上。主节点监控他们的执行情况,并且重新执行之前失败的任务;从节点仅负责由主节点指派的任务。
当一个Job被提交时,JobTracker接收到提交作业和其配置信息之后,就会将配置信息等分发给从节点,同时调度任务并监控TaskTracker的执行
后续会不断完善补充……
相关文章推荐
- Hadoop学习笔记(一)——Hadoop体系结构
- hadoop2.6学习笔记-hadoop体系结构理解
- 汇编学习笔记之处理器体系结构
- Oracle10G学习笔记之一安装体系及结构
- 学习笔记:用于事件多路分离和分派的reactor体系结构模式
- 一份好的ARM体系结构学习笔记
- WPF and Silverlight 学习笔记(三):WPF体系结构
- 计算机体系结构的学习笔记(1)
- AIX PowerPC体系结构及其溢出技术学习笔记
- Unix原理与应用学习笔记----第二章unix的体系结构与命令用法
- WPF and Silverlight 学习笔记(三):WPF体系结构
- EJB学习笔记--体系结构
- (转载)AIX PowerPC体系结构及其溢出技术学习笔记
- arm体系结构学习笔记 part4 -- 异常处理的返回
- Oracle 的体系结构(Architecture of ORACLE)学习笔记
- 《csharp高级编程》 学习笔记 第一章 .net 体系结构
- ARM学习笔记之一:ARM体系结构
- Mysql学习笔记:Mysql服务器体系结构(二)
- 一份好的ARM体系结构学习笔记
- 深入JVM学习笔记-虚拟机体系结构