Hadoop2.x 各个组件的介绍

​​​​​​​一.Hadoop2.x的概述

分布式就是由多台机器协同来完成的任务。

Hadoop提供的服务主要是两个:分布式存储,以及分布式计算

Hadoop的分布式系统,都采用Master-Slave的主从模式,在这样的模式下,分布式存储系统(HDFS)的主节点,是NameNode。

分布式资源管理系统(Yarn)的主节点,是ResourceManager。
可以很粗的理解为:HDFS是分布式存储层;YARN是集群资源管理层。

http://wenda.chinahadoop.cn/question/7382

​​​​​​​二.HDFS

NameNode: 是整个文件系统的管理节点负责管理 datanode 和记录元数据

它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表。

接收用户的操作请求。

Secondraynamenode :负责合并日志,用来合并fsimage和edits文件来更新NameNode的metedata的

Datanode :负责存储数据

声明:我们把数据节点(DataNode)上的块(Block)叫做副本(Replica),以区别于命名节点(NameNode)上的块。

Fsimage是namenode的元数据镜像文件,保存在磁盘,存储某一段时间内namenode在内存中元数据信息

Editlog:是namenode操作日志比如说:上传一个文件或删除一个文件等这些操作。

Fstime:最近一次的checkpoint时间

Metadata:元数据,一个文件存储在哪些DataNode节点的哪些位置的元数据信息。(相对于字典的索引),namenode始终在内存中保存metadata。

 HDFS:存储数据,提供分析的数据:NameNode/DataNode

https://blog.csdn.net/u011414200/article/details/50350154

​​​​​​​三.Yarn

 YARN:提供程序运行的资源: ResourceManager/NodeManager

分布式集群资源管理框架,管理者集群的资源(Memory,cpu core)

 合理调度分配给各个程序(MapReduce)使用

            主节点:resourceManager

                  掌管集群中的资源

            从节点:nodeManager

                  管理每台集群资源

1. ResourceManager(RM)

接收客户端任务请求,接收和监控 NodeManager(NM) 的资源情况汇报,负责资源的分配与调度,启动和监控 ApplicationMaster(AM)

2. NodeManager

节点上的资源管理,启动 Container 运行 task 计算,上报资源、container 情况给RM和任务处理情况给 AM。

3. ApplicationMaster

单个 Application(Job) 的 task 管理和调度,向 RM 进行资源的申请,向 NM 发出 launch Container 指令,接收 NM 的 task 处理状态信息

https://blog.csdn.net/CSDN19970806/article/details/81476046

​​​​​​​四.YARN的执行流程

Hadoop2.x 各个组件的介绍

1.客户端向RM中提交程序 
    2.RM向NM中分配一个container,并在该container中启动AM 
    3.AM向RM注册,这样用户可以直接通过RM査看应用程序的运行状态(然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束) 
    4.AM采用轮询的方式通过RPC协议向RM申请和领取资源,资源的协调通过异步完成 
    5.AM申请到资源后,便与对应的NM通信,要求它启动任务 
    6.NM为任务设置好运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务 
    7.各个任务通过某个RPC协议向AM汇报自己的状态和进度,以让AM随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务 
    8.应用程序运行完成后,AM向RM注销并关闭自己

上一篇:Mp4V2与ffmpeg静态库符号冲突问题解决


下一篇:Ms17-010进行WEB提权之实践下某培训靶机服务器