分布式系统一般分为两部分:
第一部分:管理层,用于管理应用层
第二部分:应用层,用于工作的
hadoop主要由两部分构成:
HDFS:分布式文件系统
1)在集群上实现了分布式文件系统。
2)采用了主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。
NameNode(元数据服务器):属于管理层,用于管理数据的存储。
SecondaryNameNode(辅助元数据服务器):属于管理层,备份NameNode数据。
DataNodes(块存储):属于应用层,用户进行数据的存储,被NameNode进行管理,要定时地向NameNode进行工作汇报,执行NameNode分配分发的任务。
MapReduce:分布式并行计算框架
1)在集群上实现了分布式计算和任务处理。
2)由一个单独运行在主节点上的JobTracker和运行在每个集群从节点上的TaskTracker共同组成的。
JobTracker(任务调度员):属于管理层,管理集群资源和对任务进行资源调度,监控任务的执行
TaskTracker(任务执行):属于应用层,执行JobTracker分配分发的任务,并向JobTracker汇报工作情况。
二者的关系:二者相互作用,完成了hadoop分布式集群的主要任务:
1)HDFS在MapReduce任务处理过程中提供了文件操作和存储等支持,
2)MapReduce在HDFS的基础上实现了任务的分发、跟踪、执行等工作,并收集结果。
hadoop的守护进程:
1)NameNode:作为主服务器(主节点),管理文件系统的命名空间、客户端对文件的访问操作;
以及存储文件的元数据:文件名、文件的目录结构、文件的属性(创建时间,副本数,文件权限)、每个文件对应的块列表、这些块所在的DataNode等。
2)Secondary NameNode:用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
3)DataNode:在本地文件系统存储文件块数据,并在NameNode的统一调度下进行数据块的创建、删除和复制工作。
4)JobTracker:负责接收用户提交的作业,调度任务到TaskTracker上运行,并负责启动、跟踪任务的执行。
5)TaskTracker:负责执行由JobTracker分配的任务并周期性地向JobTracker汇报状态。
说明:
DataNode和TaskTracker需要配对部署在同一个节点,而NameNode和JobTracker一般分开部署。
hadoop的体系结构
最新推荐文章于 2025-02-27 16:59:33 发布