hadoop中的各个模块及其作用

hadoop中的各个模块及其作用

      • hdfs的组成
      • yarn的组成

Hadoop的分布式计算和分布式存储都采用了主从结构。分布式存储系统被称为HDFS。可以将整个文件系统看成一个超大的硬盘。

hdfs的组成

  • 主节点
namenode(nn):存放元数据信息,存储文件名称,文件属性,文件块列表,所在dn节点列表。
secondarynamenode(2nn):降低namenode压力,辅助作用。
  • 从节点
datanode(dn):存放具体的block块,检验文件。

yarn的组成

yarn也是主从架构的,主节点是 ResourceManager ,从节点是 NodeManager
hadoop中的各个模块及其作用_第1张图片

  • ResourceManager(rm):整个集群的资源调度。

    • ASM:ApplicationsManager 负责所有任务的管理(包含每一个任务的启动和销毁、每一个任务的跟踪、以及任务执行的是否成功)。所以管理的是每一个应用程序的MRAppMaster。
      • 1)管理每一个应用MRAppMaster的启动和销毁。
      • 2)负责跟踪 MRAppMaster 的运行状态,失败重启。
    • Scheduler:决定任务的执行顺序
      • FIFO:先进先出。内部维护的单一队列,哪一个任务线提交,哪一个任务线进行资源分配,哪一个任务线运行。缺点:如果前面有一个大任务,会造成后面的任务集体阻塞。
      • FAIR:公平调度器。所有任务平分资源。缺点:没有根据任务大小进行资源分配。
      • CAPACITY:容量调度器。可以根据任务大小或组的需要,手动配置资源占比。(内部维护多个队列,每一个队列都是FIFO)
  • NodeManager(nm):单个节点的资源调度。是资源的真正提供者(为计算任务提供资源)

    • 运行时提供资源,运行完成之后,回收资源。资源是动态分配的。
    • 提供资源的时候,是以一个maptask或reducetask为单位提供资源。
    • 一个maptask 或 reducetask 需要一个 container 的资源。(container 是一个抽象资源容器,或者说是一个逻辑资源容器。是nodemanager提供资源的基本单位(最小单位)。一个container内部封装了一定的资源:内存、cpu、网络、IO等)
    • 一个container中运行一个maptask或一个reducetask任务。
    • MRAppMaster:mapreduce application master。 mapreduce中,每一个应用程序(job)运行的时候,先启动 MRAppMaster,之后MRAppMaster负责管理整个应用程序。管理包括:
      • 1)帮助当前应用程序申请资源。
      • 2)启动maptask 任务和 reducetask任务。
      • 3)跟踪 maptask 任务和 reducetask任务的运行状态的进度。
      • 4)进行 maptask 和 reducetask 的资源回收。

你可能感兴趣的:(hadoop,hadoop,hdfs,大数据)