Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 应用程序管理员和应用程序管理员在纱线方面的区别?_Hadoop_Mapreduce_Yarn - Fatal编程技术网

Hadoop 应用程序管理员和应用程序管理员在纱线方面的区别?

Hadoop 应用程序管理员和应用程序管理员在纱线方面的区别?,hadoop,mapreduce,yarn,Hadoop,Mapreduce,Yarn,我了解MRv1的工作原理。现在我正在努力了解MRv2。。纱线中的应用程序管理器和应用程序管理器有什么区别?应用程序管理器和应用程序管理器这两个术语经常互换使用。实际上,Application Master是请求、启动和监视特定于应用程序的资源的主要容器,而Application Manager是ResourceManager中的一个组件。下面提供了有关Application Manager的更多详细信息 ApplicationManager负责维护已提交的应用程序的集合 应用。提交应用程序后,它

我了解MRv1的工作原理。现在我正在努力了解MRv2。。纱线中的应用程序管理器和应用程序管理器有什么区别?

应用程序管理器和应用程序管理器这两个术语经常互换使用。实际上,Application Master是请求、启动和监视特定于应用程序的资源的主要容器,而Application Manager是ResourceManager中的一个组件。下面提供了有关Application Manager的更多详细信息

ApplicationManager负责维护已提交的应用程序的集合 应用。提交应用程序后,它首先验证应用程序的 规范,并拒绝任何为其应用程序请求不可满足的资源的应用程序 ApplicationMaster(即,群集中没有足够的资源用于 运行ApplicationMaster本身)。然后,它确保没有其他应用程序已经启动 使用相同的应用程序ID提交—可能由错误的 或者是恶意客户端。最后,它将允许的应用程序转发给调度器。 该组件还负责记录和管理已完成的应用程序 在他们完全撤离ResourceManager的办公室之前 记忆。当应用程序完成时,它会在守护进程的 日志文件。 最后,ApplicationManager会在很长一段时间后保留已完成应用程序的缓存 应用程序完成以支持用户对应用程序数据的请求(通过web UI或命令 行)。配置属性warn.resourcemanager.max-completed-applications 控制ResourceManager允许的已完成应用程序的最大数量 在任何时候都记得。缓存是一个先进先出的列表,包含最旧的应用程序 迁出以容纳新完成的应用程序


此处,应用程序指分配给框架的单个作业

当客户机将应用程序提交给资源管理器时,应用程序管理器负责接受或拒绝该应用程序

当资源管理器将单个应用程序分配给节点管理器时,应用程序主机负责执行该应用程序


这有意义吗?

要理解这个概念,我们需要了解Hadoop中通过Thread提交的作业/应用程序的完整流程

在开始执行流程之前,我们需要了解一些关键概念:

关键概念:

  • 纱线由资源管理器和节点管理器组成
  • 只有一个资源管理器在主节点上运行
  • 每个数据节点上将运行多个节点管理器
  • 资源管理器处理资源管理以执行任何作业/应用程序
  • 节点管理器负责提交给它们的单个任务/流程
  • 请注意,Thread是一个通用框架,它不仅用于执行Map Reduce作业。它可以用来执行任何应用程序,比如Java应用程序的main()
  • 现在,让我们通过纱线讨论工作/申请流程

  • 客户向Thread提交作业
  • 提交的作业可以是Map Reduce作业或任何其他应用程序/流程
  • 此作业/应用程序由资源管理器选择
  • 由于可以向资源管理器提交多个作业/应用程序,因此资源管理器将检查调度算法、可用容量,以查看是否可以启动提交的作业/应用程序
  • 当资源管理器发现它可以启动新提交的作业/应用程序时,它会分配一个容器。容器是启动作业/应用程序所需的一组资源(CPU、内存等)
  • 它检查哪个节点可以接受该请求,一旦找到一个节点,就联系相应的节点管理器
  • 节点管理器将实际分配执行作业/应用程序所需的资源,然后在容器中启动应用程序主进程
  • 应用程序主进程是作业/应用程序执行的主要进程。请注意,Application Master是特定于框架的实现。Map Reduce框架有自己的应用程序主应用程序实现
  • Application Master将检查执行作业/应用程序是否需要其他资源或容器。当我们提交一个Map Reduce作业时就是这种情况,其中需要多个Mapper和Reducer来完成该作业
  • 如果需要额外的资源,则应用程序主机将与资源管理器协商以分配资源/容器。应用程序管理员负责执行和监控应用程序/作业的各个任务
  • 应用程序主机向资源管理器发出的请求称为资源请求。请求包含执行单个任务所需的资源和位置约束。位置约束是必需的,因为任务需要在尽可能接近数据的地方运行,以节省网络带宽。 12作为对资源请求的响应,资源管理器将在所选节点上生成节点管理器。节点管理器随后将为容器分配资源。在该容器中,任务将运行。此任务称为应用程序进程
  • 如果有多个映射器,那么将有多个应用程序进程(在容器中)在多个节点上运行。他们中的每一个人都会将他们的热拍发送到他们的应用程序主进程。这就是Application Master监视其启动的单个任务的方式
  • 应用程序主机还将向资源管理器发送心跳信号,以指示作业/应用程序执行的状态
  • 一旦任何应用程序执行完成,则该应用程序的应用程序主机将被注销

  • 我希望这能让你明白一些

    谢谢,是应用程序大师还是